首页 > 编程语言 > 详细

快速排序

时间:2020-03-02 16:40:43      阅读:50      评论:0      收藏:0      [点我收藏+]
/*快速排序*/
#include<iostream>
#include<stdlib.h>
#include<algorithm>
using namespace std;
const int Max=1e4+5;

int array[Max];

int Findout(int l,int r){
    int x=array[l];//
    
    while(l<r){
    while(array[r]>=x&&l<r) r--;
       swap(array[r],array[l]);//寻小     
    while(array[l]<=x&&l<r) l++;
       swap(array[l],array[r]);//寻大 
    }
    return l;
}

void quickSort(int l,int r){
    if(l<r){
    int pivotloc=Findout(l,r);
    
    quickSort(l,pivotloc-1);//左边 
    quickSort(pivotloc+1,r);//右边 
    
    }
    return ;
}

int main(){
    int i,n;
    cout<<"请输入数组大小:"; 
    cin>>n;
    for(i=0;i<n;i++)
        cin>>array[i];//输入数据    
    quickSort(0,n-1);//注意是n-1 
    for(i=0;i<n;i++)
    cout<<array[i]<<" ";//输出数据
    return 0;    
} 

 

快速排序

原文:https://www.cnblogs.com/OKDA/p/12395982.html

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