首页 > 编程语言 > 详细

算法基础——快速排序

时间:2020-11-20 21:52:30      阅读:53      评论:0      收藏:0      [点我收藏+]
#include <iostream>

using namespace std;

const int MAX_N = 100010;

int arr[MAX_N];

void quick_sort(int l,int r)
{
    int i = l-1, j = r+1, x = arr[(l+r)>>1];
    
    if(l==r)    return;
    while(i<j){
        do i++;while(arr[i]<x);
        do j--;while(arr[j]>x);
        if(i<j) swap(arr[i],arr[j]);
    }
    quick_sort(l,j),quick_sort(j+1,r);
}


int main(){
    int num;
    scanf("%d",&num);
        
    for(int i=0;i<num;i++)    scanf("%d",&arr[i]);
    
    quick_sort(0,num-1);

    for(int i=0;i<num;i++)    cout<<arr[i]<<‘ ‘;
    return 0;
}

算法基础——快速排序

原文:https://www.cnblogs.com/Mallknow/p/14013020.html

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