快速排序是在实践中最快的已知排序算法,它的平均时间是O(NlogN),最坏情形为O(N2),但快速排序是一种不稳定的排序算法。
C语言程序如下:
typedef int ElementType; //对类型变量起别名,提高程序可移植性、可读性 void QuickSort(ElementType A[],int left,int right) { int i,j; ElementType pivot; i=left; j=right; pivot=A[left]; if(left>=right) return ; while(i!=j) { while(A[j]>=pivot && j>i) j--; if(j>i) A[i++]=A[j]; while(A[j]<=pivot && j>i) i++; if(j>i) A[j--]=A[i]; } A[i]=pivot; QuickSort(A,left,i-1); QuickSort(A,i+1,right); }