华不注 2022-06-22 08:17 采纳率: 91.7%
浏览 63
已结题

洛谷 P1177 快速排序

洛谷P1177 快速排序

img


#include<iostream>
#include<cstdlib>
#include<ctime>

using namespace std;

int num[100010],n;

int get_mid(int left,int right){
    int pivot=rand()%(right-left+1)+left;
    swap(num[pivot],num[left]);
    int temp=num[left];    
    while(left<right){
        while(left<right && num[left]<=temp) left++;
        swap(num[left],num[right]);
        while(left<right && num[right]>temp) right--;
        swap(num[left],num[right]);
    }
    num[left]=temp;
    return left;
}

void quick_sort(int left,int right){
    if(left<right){
        int pos=get_mid(left,right);
        quick_sort(left,pos-1);
        quick_sort(pos+1,right);
    }
}

int main(){
    srand((unsigned)time(NULL));
    cin>>n;
    for(int i=1;i<=n;i++) cin>>num[i];
    quick_sort(0,n);
    for(int i=1;i<=n;i++) cout<<num[i]<<' ';
}

/*
    8
    1 5 7 4 6 3 2 8
*/


  • 写回答

2条回答 默认 最新

查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月28日
  • 已采纳回答 7月20日
  • 创建了问题 6月22日

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?