public static void kuaipai(int a[],int start,int end){
//递归出口
if (start >= end)
return;
//选基准
int pivot = a[start];
int left = start;
int right = end;
//进行排序,使用双循环
while (left < right){
while (left<right && a[right] > pivot)
right--;
while (left < right && a[left] <= pivot)
left++;
//交换值
if (left<right) {
int tmp = a[left];
a[left] = a[right];
a[right] = tmp;
}
}
//start与end相遇之后,比较与pivot的大小
a[start] = a[left];
a[left] = pivot;
//使用递归将剩下的进行排序
//先排左面
kuaipai(a,start,left - 1);
kuaipai(a,left+1,end);
return;
}
快排的java代码
最新推荐文章于 2024-04-30 23:29:02 发布