您的位置:首页 > 其它

快速排序

2017-06-29 10:29 120 查看
public static void main(String[] args) {
int a[] = {1,32,31,11};
quickSort(a, 0, 3);
for(int i : a) {
System.out.print(i+"\t");
}
}
// 快速排序算法( 升序 )
static void quickSort(int a[],  int left,  int right) {
if(left > right) {
return;
}
int i, j, t, temp;
i = left;
j = right;
temp = a[left];
while(i != j) {
while(a[j] >= temp && i < j) {
j--;
}
while(a[i] <= temp && i < j) {
i++;
}
if(i < j) {
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
// 当左右路兵马相遇的时候,基准数就该换人了!
// 所以第一个循环条件也不能是 "="
a[left] = a[i];
a[i] = temp;

quickSort(a, left, i - 1);
quickSort(a, i + 1, right);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: