JAVA排序--[快速排序]

 1 package com.array;

 2 

 3 public class Sort_Quick {

 4     /*

 5      * 项目名称:快速排序 ; 

 6      * 项目要求:用JAVA对数组进行排序,并运用快速排序算法; 

 7      * 作者:Sevck;

 8      */

 9     public void sort(int left, int right, int array[]) {

10         int l = left;

11         int r = right;

12         int pirot = array[(left + right) / 2];

13         int temp = 0;

14         while (l < r) {

15             while (array[l] < pirot && l >= left)

16                 l++;

17             while (array[r] > pirot && r <= right)

18                 r--;

19             if (l >= r)

20                 break;

21             temp = array[l];

22             array[l] = array[r];

23             array[r] = temp;

24         }

25 

26         if (l == r) {

27             l++;

28             r--;

29         }

30 

31         if (left < r)

32             sort(left, r, array);

33         if (right > l)

34             sort(l, right, array);

35     }

36 

37     public static void main(String[] args) {

38         int arr1[] = { 7, 3, 2, 9, 15, 1, 14 };

39         Sort_Quick qs = new Sort_Quick();

40         qs.sort(0, arr1.length - 1, arr1);

41 

42         System.out.println("The current array is:");

43 

44         for (int i = 0; i < arr1.length; i++) {

45             System.out.print("  " + arr1[i]);

46         }

47     }

48 }

这个需要说说了,之前快排有处写错了,自己调试了好久没解决,(结果发现的时候不细心--写成++)。

看了半天没看到,arr1.length - 1 怎么会变成7...找鸡哥问了,瞬间解决了,还被吐槽了代码写的好烂。。一点都不好看

不过看完鸡哥的确实是自叹不如,好好学习了他的编码风格...

你可能感兴趣的:(Java排序)