【基础排序】快速排序
来源:互联网 发布:周杰伦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])); }