Acwing785. 快速排序

2023-10-26

Acwing785. 快速排序

题目描述

在这里插入图片描述

代码展示

#include <iostream>

using namespace std;

const int N = 100010;

int n;
int a[N];

void quick_sort(int a[], int l, int r)
{
    if(l >= r) return ;

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

    quick_sort(a, l, j);
    quick_sort(a, j + 1, r);
}

int main() {
    scanf("%d", &n);

    for(int i = 0; i < n; i++) scanf("%d", &a[i]);

    quick_sort(a, 0, n - 1);

    for(int i = 0; i < n; i++) printf("%d ", a[i]);

    return 0;
}
//by BH

参考链接: AcWing 785. 快速排序算法的证明与边界分析

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Acwing785. 快速排序 的相关文章

随机推荐

  • 为什么数据分析进行的预测不够成功

    行业专家有时感叹大规模分析和数据科学计划经常缺乏价值 虽然人们从许多努力中看到了其巨大的价值 但结果非常差的例子也屡见不鲜 专家认为 通常这些问题可以归结为一个基本的错误 也就是说 认为生成预测 预测或模拟就足够了 但事实却不是这样 预测是
  • go 打开文件句柄_Go中trace包的使用

    Go给我们提供了一个工具trace 可以在运行时启用trace 并获得程序执行情况的详细视图 应该怎么使用trace呢 一般有下面三种使用方式 运行go test的时候 带上 trace参数标记 go test trace trace ou
  • Android6.0软件崩溃问题

    概述 targetSdkVersion是23 在Android 6 0上运行就会遇到crash的问题 因为Android 6 0在原有的AndroidManifest xml声明权限的基础上 增加了运行时的权限 无法在AndroidMani
  • ZBrush中Tool工具的保存

    ZBrush软件的界面及操作方法与其他的三维软件完全不同 很多初学者常常会觉得有些困难 接下来我们就讲解一下ZBrush 最为基础的操作 Tool工具的保存 首先要明白什么是Tool工具 我们创建的每一个模型 以及ZBrush可以调用的模型
  • Photoshop cc2019 破解教程

    Photoshop cc2019 破解教程 内含破解器 1 下载替换文件 Photoshop exe 链接如下 链接 https pan baidu com s 11XrnXWvGsnQ7YMbIMb49Lw 提取码 t9ol 2 打开Ph
  • Nginx 学习 一(安装)

    1 从官网现在nginx wget https nginx org download nginx 1 16 1 tar gz 解压 共有如下目录文件 2 让nginx 配置文件 vim 语法高亮 原先的 复制contrib 目录下文件到当前
  • windows Server 2008 R2服务器IIS环境启用TLS 1.2

    windows Server 2008 R2服务器IIS环境启用TLS 1 2 配置TLS1 2 分为2步 添加TLS配置和禁用老的SSL版本 提供两种方法 选择其中一种就行了 手动设置 打开注册表 运行regedit 找到 HKEY LO
  • kettle转换js实现MD5加密

    Script here js文件与转换文件保存路径一样LoadScriptFile getVariable Internal Transformation Filename Directory MD5 js var pass usernam
  • python【2】python3 的CSV数据规整化1

    最近分析一套数据 是csv格式的数据 必须是python分析数据比较顺手啊 于是研究一下csv模块 由于py的版本问题 3的资料中文的很少 所以记录一下 方便以后的学习 点击打开链接 上面的链接是python官网给的文档 英语好的建议看原版
  • 回归预测

    回归预测 MATLAB实现GRNN广义回归神经网络多输入多输出预测 目录 回归预测 MATLAB实现GRNN广义回归神经网络多输入多输出预测 预测效果 基本介绍 程序设计 往期精彩 参考资料 预测效果 基本介绍 MATLAB实现GRNN广义
  • 组合特征(三)tfidf(word+article+length)

    特征拼接 拼接文章长度 1 载入特征 2 读文章长度 3 特征缩放 拼接特征 import pickle 载入特征 with open tfidf word article pkl rb as f x train y train y tes
  • 【数字 IC】从底层重新认识 D 触发器、建立时间和保持时间

    目录 1 NMOS 和 PMOS 2 MOS 管搭建逻辑门 3 锁存器和触发器 3 1 交叉耦合反相器 3 2 SR 锁存器 3 3 D 锁存器 3 4 D 触发器 4 D 触发器的建立 保持时间 1 NMOS 和 PMOS MOSFET
  • 制作镜像

    2017 03 10 一直以来 都没有自己制作过景象 这次我得自己尝试下 https docs openstack org image guide virt install html 这里是官方的教程 2017 03 11 目前实验室制作镜
  • whistle代理配置帮助文档

    背景 Android开发需要与服务器调试API接口 whistle可以帮助配置代理的方式访问测试环境 并且联调抓包也非常方便 一 安装whistle 1 下载Node js 下载地址 https nodejs org en 下载完成后安装即
  • Servlet详解(二):request和response对象

    什么是request和response request对象是服务器对浏览器请求的封装 而response是服务器对服务器响应的封装 request用来取出请求信息 而response则用来添加要返回给浏览器的信息 使用response对象设
  • SpringBoot学习:整合shiro(验证码功能和登录次数限制功能)

    项目下载地址 http download csdn NET detail aqsunkai 9805821 一 验证码 首先login jsp里增加了获取验证码图片的标签 h1 style margin left 30px 登录页面 h1
  • SQLsever用户权限管理和数据库映射

    SQL Server2005中 用户映射 里成员身份选项的意思 用户映射 public 维护所有默认权限 db owner 执行所有数据库角色活动 db accessadmin 添加和删除数据库用户 组及角色 db ddladmin 添加
  • jQuery:mouseover and Increase the Size of an Image

  • mysql+中与当前时间比较大小_Mysql中时间加减和比较大小的方法

    在Oracle中使用时间函数to date习惯了 在Oracle中时间的加减也非常简单 直接加减即可 在Mysql中时间的函数很多 非常自由 在项目中经常用到的就是时间的加减 比如60天前 Oracle中直接就是sysdate 60 Mys
  • Acwing785. 快速排序

    Acwing785 快速排序 题目描述 代码展示 题目描述 代码展示 include