首页 > 编程语言 > 详细

快速排序

时间:2019-09-20 21:04:18      阅读:107      评论:0      收藏:0      [点我收藏+]

普通快速排序代码如下:

#include<iostream>
#include<algorithm>
#include<vector>
#include<set>
using namespace std;
int getindex(vector<int>&arr,int left,int right){
    int m=arr[left];
    while(left<right){
        while(left<right&&arr[right]>=m)
            right--;
        arr[left]=arr[right];

        while(left<right&&arr[left]<=m)
              left++;

        arr[right]=arr[left];

    }
    arr[left]=m;
    return left;
}
void quicksort(vector<int>&arr,int left,int right){
    if(left<right){
    int mid= getindex(arr,left,right);
    quicksort(arr,left,mid-1);
    quicksort(arr,mid+1,right);
    }
}
int main(){
    vector<int>arr={1,5,3,9,4,56,234,71,3,52,7};
    quicksort(arr,0,arr.size()-1);
    for(int t:arr){
        cout<<t<<" ";
    }
}

快速排序

原文:https://www.cnblogs.com/qiuhaifeng/p/11559499.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!