快速排序算法思想: 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 快排 #include <iostream> using namespace std; int quicksort(int a[], int low, int high) { int i=low; int j= high; int key = a[i]; while(i<j) { while ((i<j)&&(a[j]>=key)) j--; if (i<j) { a[i]=a[j]; i++; } while((i<j)&&(a[i]<key)) i++; if (i<j) { a[j]=a[i]; j--; } } a[i]=key; return i; } void sort(int a[], int low ,int high) { if (low<high) { int b = quicksort(a,low,high); quicksort(a,low,b-1); quicksort(a,b+1,high); } } void main() { int a[] = {49,38,65,97,76,13,27}; sort(a,0,6); for (int i=0; i<=6; i++) { cout<<a[i]<<endl; } }