首页 > 其他分享 >快速排序

快速排序

时间:2024-03-26 21:57:50浏览次数:28  
标签:std do int mid ksort 排序 快速

#include <bits/stdc++.h>
using namespace std;
void ksort(int *a,int l,int r){
    int mid = a[(l+r)/2];
    int i = l,j = r;
    do{
        while(a[i]<mid){
            i++;
        }
        while(a[j]>mid){
            j--;
        }
        if(i<=j){
            swap(a[i],a[j]);
            i++;
            j--;
        }
    }while(i<=j);
    if(l<j){
        ksort(a,l,j);
    }
    if(i<r){
        ksort(a,i,r);
    }
}
int main(){
    int n;
    cin>>n;
    int a[n+5];
    for(int i = 1;i<=n;i++){
        cin>>a[i];
    }
    ksort(a    ,1,n);
    for(int i = 1;i<=n;i++){
        cout<<a[i]<<endl;
    }
    return 0;
}

 

标签:std,do,int,mid,ksort,排序,快速
From: https://www.cnblogs.com/wangyihang-xh/p/18097688

相关文章

  • 【Canal】Canal快速入门
    canal介绍 canal[kə'næl],译意为水道/管道/沟渠,主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务trigger获取增量变更。从2010年开始,业务逐步尝试数据......
  • 「Go开源包」snappy:google开源的快速、无损压缩包
    大家好,我是渔夫子。今天给大家推荐的是一个google开源的快速、无损的压缩包:snappy。snappy算法是google开源的。该包是google使用go语言来实现的。项目地址如下:项目地址:https://github.com/golang/snappy星标:1.4k使用者:97.7k简介该包的目标并不是最大化的压缩比例,也不是和......
  • 【蓝桥杯省赛真题33】python单词排序 中小学青少年组蓝桥杯比赛 算法思维python编程省
     目录python单词排序一、题目要求1、编程实现2、输入输出二、算法分析三、程序编写四、程序说明五、运行结果六、考点分析七、 推荐资料1、蓝桥杯比赛2、考级资料3、其它资料python单词排序第十三届蓝桥杯青少年组python比赛省赛真题一、题目要求(注:input......
  • 文件按照大小排序
    文件按照大小排序OS:RedHatEnterpriseLinuxServerrelease7.9(Maipo)用的时候,经常盘就满了,得找最大的那个表,到数据库里面去查还得写sql,就干脆查文件就得了,以下是用了个空库的查询结果通过ll排序,对文件夹不够友好desc排序,并找出最大的5个[root@localhostdata......
  • 深度学习之快速配环境方法
    在学习深度学习的过程中,针对于不同的网络模型,常常需要配置与之对应的代码环境,结合互联网和师门同学的经验,这里给出了我自己最顺手的环境配置方法。参考环境配置python3.8 cuda11.3.1 cudnn8.2.1 torch1.12.0torchvision0.13.0操作步骤注:以下操作均在Anaco......
  • Linux系列之统计某个字符串出现次数并排序
    业务场景最近遇到一个流量异常调用的接口,所以需要通过后台日志查看接口调用情况,先统计今天内接口的调用次数,再具体到对应的设备号,就知道哪台设备有问题了,初步想到wc和awk命令来筛选统计,但是真正去写的时候,发现很多写法都不太记得了,所以花了点时间去查手册,找资料,现在整理成......
  • 如何才能Python快速入门?
    无论是哪种编程语言,最开始往往是最难的,那么今天,我就来谈谈如何才能快速入门python编程。设定目标如果你学python是想找工作的话,可以先看看对于python程序员的相关招聘要求,比如这是我在某网找到的一个有关初级Python程序员的招聘要求,可以看看:熟悉Python及常用的Web开发框......
  • 善用AI:智能写作与快速访问的双重优势(附镜像站汇总)
    随着人工智能技术的不断发展,我们的日常工作和学习方式正在经历一场革命。在众多创新工具中,GPT(GenerativePre-trainedTransformer)已经成为了一个耀眼的明星,而这个月Claude3的登场,再次将人工智能推向新一轮高峰。为什么要使用AI? 提高效率GPT、Claude等,作为先进的自然语言......
  • 如何快速上手Vue框架:从零开始的Vue之旅
    引言Vue.js是一个渐进式JavaScript框架,用于构建用户界面。它易于上手,同时提供了强大的工具和功能,使得开发者能够快速构建复杂的单页应用程序(SPA)。本文将带你了解Vue的基本概念,并通过实例来快速上手这个流行的前端框架。环境准备在开始之前,确保你的开发环境中安装了以下工......
  • 一次快速使用docker安装mysql8.0记录(配置和数据挂载到指定目录)
    mkdir/home/mysql8vim/home/my.cnf[mysql]#设置mysql客户端默认字符集default-character-set=UTF8MB4[mysqld]port=3307max_connections=200max_connect_errors=10#修改加密方式,因为mysql8.x版本默认的密码加密的方式,Navicat识别不了,需修改为mysql_native_password......