資料結構實驗之排序一:一趟快排( SDUT 3398)
阿新 • • 發佈:2018-12-16
#include <stdio.h> #include <string.h> int a[110000]; void qusort(int l, int r, int a[]) { int i = l, j = r; int x = a[i]; if(i >= j) return ; while(i < j) { while(i < j && a[j] >= x) j --; a[i] = a[j]; while(i < j && a[i] <= x) i ++; a[j] = a[i]; } a[i] = x; // qusort(l,i-1,a); // kuaipai // qusort(i+1,r,a); } int main() { int n; while(scanf("%d",&n) != EOF) { for(int i = 0; i < n; i ++) { scanf("%d",&a[i]); } qusort(0,n-1,a); for(int i = 0; i < n; i ++) { if(i == 0) printf("%d",a[i]); else printf(" %d",a[i]); } printf("\n"); } return 0 ; }