标签:
1 /** 2 * 实现快速排序; 3 * 1.取int[left]为基准数,把比它大的数移到右边,比他小的移到左边 ; 4 * 2.再对左右区重复上述步骤(递归),直至每个区间只有一个数. 5 */ 6 public void quickSort(int[] n, int left, int right) { 7 if (left < right) { 8 int i = left, j = right, x = n[left]; 9 while (i < j) { 10 while (i < j && n[j] >= x) { 11 j--; 12 } 13 if (i < j) { 14 n[i] = n[j]; 15 i++; 16 } 17 while (i < j && n[i] <= x) { 18 i++; 19 } 20 if (i < j) { 21 n[j] = n[i]; 22 j--; 23 } 24 } 25 n[i] = x; 26 quickSort(n, left, i - 1); 27 quickSort(n, i + 1, right); 28 } 29 }
标签:
原文地址:http://www.cnblogs.com/zhaodong1s/p/5661017.html