快速排序
#include <iostream> #include<vector> using namespace std; void qsort(vector<int> &arr,int low,int high){ int l=low,h=high; int povit=arr[low]; if(low<high){ while(l<h){ while(l<h&&arr[h]>=povit) h--; arr[l]=arr[h]; while(l<h&&arr[l]<=povit) l++; arr[h]=arr[l]; } arr[l]=povit; qsort(arr,low,l-1); qsort(arr,l+1,high); } } int main() { vector<int> a; a.push_back(3); a.push_back(1); a.push_back(2); a.push_back(4); a.push_back(8); a.push_back(5); for(int i=0;i<6;i++) cout<<a[i]<<" " ; qsort(a,0,5); cout<<endl; for(int i=0;i<6;i++) cout<<a[i]<<" "; return 0; }