package B2013;
public class JAVAB3快速排序 {
static void f(int[] x, int left, int right)
{
if(left >= right) return;
int key = x[(left+right)/2];
int li = left;
int ri = right;
while(li<=ri){
while(x[ri]>key) ri--;
while(x[li]<key) li++;
if(ri>=li){ //填空位置
int t = x[li];
x[li] = x[ri];
x[ri] = t;
li++;
ri--;
}
}
if(li < right) f(x, li, right);
if(ri > left) f(x, left, ri);
}
public static void main(String[] args) {
int[] num = {2,4,5,8,2,4,5,80,2,3,4};
f(num,0,num.length-1);
for(int i=0;i<num.length;i++)
System.out.print(num[i]+" ");
}
}
第四届蓝桥杯B组第三题快速排序
最新推荐文章于 2019-03-17 16:59:21 发布