快速排序
2017-06-29 10:29
120 查看
public static void main(String[] args) { int a[] = {1,32,31,11}; quickSort(a, 0, 3); for(int i : a) { System.out.print(i+"\t"); } } // 快速排序算法( 升序 ) static void quickSort(int a[], int left, int right) { if(left > right) { return; } int i, j, t, temp; i = left; j = right; temp = a[left]; while(i != j) { while(a[j] >= temp && i < j) { j--; } while(a[i] <= temp && i < j) { i++; } if(i < j) { t = a[i]; a[i] = a[j]; a[j] = t; } } // 当左右路兵马相遇的时候,基准数就该换人了! // 所以第一个循环条件也不能是 "=" a[left] = a[i]; a[i] = temp; quickSort(a, left, i - 1); quickSort(a, i + 1, right); }