/* QuickSort.java */
public class QuickSort { public static void main(String []args) { int []a = {4,5,2,3,7,1}; int size = a.length;
System.out.print("Befor sort:"); for(int i=0;i<size;i++) System.out.print(a[i]);
doQuickSort(0,size -1,a); System.out.print("/nAfter sort:"); for(int i=0;i<size;i++) System.out.print(a[i]); } public static void doQuickSort(int start,int end,int []a) { int left = start; int right = end; int tmp = 0;
// 给第一个元素a[left]找出其位置, // 使其左边得值都小于他,右边得值都大于他 while(left<right) { while(left<right && a[left] < a[right]) { right--; } tmp = a[left]; a[left] = a[right]; a[right] = tmp; while(left<right && a[left] < a[right]) { left++; } tmp = a[left]; a[left] = a[right]; a[right] = tmp; } if(left==right) { doQuickSort(start,left-1,a); doQuickSort(right+1,end,a); } } }
|