【基础排序】快速排序

来源:互联网 发布:周杰伦secret知乎 编辑:程序博客网 时间:2024/06/02 10:38
#include <iostream>using namespace std;void QuickSort(int a[],int low,int high){int i=low;int j=high;int temp=a[low];while(low < high){while(low<high && a[high]>=temp){high--;}swap(a[high],a[low]);while(low<high && a[low]<=temp){low++;}swap(a[high],a[low]);}a[low]=temp;if(i != low){QuickSort(a,i,low-1);}if(j != high){QuickSort(a,high+1,j);}}void print(int a[],int n)    {        for(int i=0; i<n; i++)        {            cout<<a[i]<<" ";        }        cout << endl;    }        void main()    {        int a[] = {1,3,6,8,0,5,7};        cout << "排序前:";        print(a,sizeof(a)/sizeof(a[0]));  int n=sizeof(a)/sizeof(a[0]);      QuickSort(a,0,n-1);        cout << "排序后:";        print(a,sizeof(a)/sizeof(a[0]));    }