快速排序

 

#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;
}

 

posted @ 2017-09-11 21:59  uMBrELlAmRx  阅读(119)  评论(0编辑  收藏  举报