import java.util.Scanner;
public class kuaisu {
static int n;
static int a[] = new int[100];
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
for (int i = 1; i <= n; i++) {
a[i] = sc.nextInt();
}
quicksort(1, n);
for (int i = 1; i <= n; i++) {
System.out.print(a[i] + " ");
}
}
private static void quicksort(int left, int right) {
// TODO Auto-generated method stub
int temp, i, j, t;
if (left > right) {
return;
}
temp = a[left];// 基准数
i = left;
j = right;
while (i != j) {
while (i < j && a[j] >= temp)
// 从右向左找
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(left, i - 1);
quicksort(i + 1, right);
}
}
感觉这个啊哈算法的快速排序方法跟我学的学的数据结构还是有点不一样的,过程上有点小区别
1-2快速排序
最新推荐文章于 2020-06-26 20:11:34 发布