快速排序的C语言实现
#include <stdio.h> int qSort(int a[],int i,int j) { int h = i; int r = j; int x = a[h]; int f = 0; while (h < r) { for (;a[r]>=x;r--) { if(h==r) { f=1; break; } } if (f==1) break; a[h] = a[r]; h++; for (;a[h]<x;h++) { if(h==r) { f=1; break; } } if (f==1) break; a[r] = a[h]; r--; } a[h] = x; return h; } void quickSort(int a[],int i,int j) { int m; if(i<j) { m = qSort(a,i,j); quickSort(a,i,m-1); quickSort(a,m+1,j); } } int main(void) { int i; int n = 4; int a[] = {4,3,2,1}; quickSort(a,0,n-1); for (i = 0; i<n;i++) { printf("%d ",a[i]); } return 0; }