快速排序算法(牢记)

来源:互联网 发布:淘宝网窗帘罗马圈 编辑:程序博客网 时间:2024/04/28 18:42

快排:// 修改自《C programing language》

#include<iostream>#include<iterator>#include<algorithm>void qsort(int v[], int left, int right){int i,last;if(left >= right)return;std::swap(v[left],v[(left+right)/2]);last = left;for(i = left+1; i <= right; ++i){if(v[i] < v[left])std::swap(v[i],v[++last]);}std::swap(v[left],v[last]);qsort(v,left,last-1);qsort(v,last+1,right);}int main(){int a[]={5,3,1,6,8,9,4};qsort(a,0,7-1);std::copy(a,a+7,std::ostream_iterator<int>(std::cout," "));return 0;}


原创粉丝点击