快速排序

Posted qiuhaifeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速排序相关的知识,希望对你有一定的参考价值。

普通快速排序代码如下:

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

以上是关于快速排序的主要内容,如果未能解决你的问题,请参考以下文章

深度解析(十六)快速排序

快速排序

基于快速排序方法改成求第k大的数

简单介绍一下快速排序的思想?

用C语言编程实现快速排序算法

Python实现排序算法之快速排序