数据结构上的快排代码,非实用主义!
作者:
CZL
,
2022-11-25 08:45:13
,
所有人可见
,
阅读 205
import java.util.*;
public class Main {
static int N = 100010;
static int a[] = new int[N];
static void qsort(int l, int r) {
if(l >= r) return;
int low = partion(l, r);
qsort(l, low - 1);
qsort(low + 1, r);
}
static int partion(int l, int r) {
int p = a[l];
while(l < r) {
while(l < r && a[r] >= p) r -- ;
a[l] = a[r];
while(l < r && a[l] <= p) l ++ ;
a[r] = a[l];
}
a[l] = p;
return l;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i = 0; i < n; i ++ ) {
a[i + 1] = sc.nextInt();
}
qsort(1, n);
for(int i = 0; i < n; i ++ ) {
System.out.println(a[i + 1]);
}
}
}