快速排序

来源:互联网 发布:下载卸载软件 编辑:程序博客网 时间:2024/05/24 06:42

花了一下午写快排,果然很恶心- -

各种恶心的边界处理,果然动手还是必要的

#include <iostream>using namespace std;template<typename T>void _quickSort(T array[],int start,int end){if((end-start)<1){return;}    int left=start;int right=end+1;while(1){while(array[++left]<array[start]&&(left!=end+1)){;};while(array[--right]>array[start]&&(right!=start)){;};if(left>=right){break;}else{swap(array[left],array[right]);}  }swap(array[start],array[left-1]);_quickSort(array,start,left-1);_quickSort(array,left,end);}template<typename T>void quickSort(T array[],int size){return _quickSort(array,0,size-1);}int main(){int x[]={3,2,5,6,2,1,6,9,3};quickSort(x,9);for(int i=0;i!=9;i++){cout<<x[i]<<" ";}cout<<endl;getchar();}


原创粉丝点击