您的位置:首页 > 其它

第四届蓝桥杯B组第三题快速排序

2017-05-07 09:43 211 查看
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]+" ");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: