分析:快排主要思想是先在(1).数组中找一个作为基准,拿这个基准把比它大的放一边,比它小的放在另一边;然后再把它左右俩边的重复(1)操作
实现:(我将第一个元素作为基准)
public static void QuickSort(int[] numbers,int a,int b){if(a>=b)return; int tag=numbers[a],i=a,j=b;while(i<j){while(i<j&&numbers[j]>=tag){j--;}if(i<j){numbers[i]=numbers[j];i++;}while(i<j&&numbers[i]<=tag){i++;}if(i<j){numbers[j]=numbers[i];j--;}}numbers[i]=tag;QuickSort(numbers,a,i-1);QuickSort(numbers,i+1,b);}
新闻热点
疑难解答