输入nn个整数,用快速排序算法将这nn个数从小到大进行排序。n \leq 1000n≤1000.

请手写函数,切勿使用库函数。

输入格式

第一行,输入整数nn. 第二行,输入这nn个整数

输出格式

一行,按从小到大输出这nn个数

输入样例

10

2 3 4 1 3 6 7 4 9 8

输出样例

1 2 3 3 4 4 6 7 8 9

代码模板:

#include <bits/stdc++.h>

using namespace std;

const int N = 1e6+10;

int q[N];

int n;

void quick_sort(int q[], int l,int r){

if ( l >= r) return;

int i = l-1, j = r + 1, x = q[l + r >> 1];

while(i < j){

do i++ ; while(q[i] < x);

do j-- ; while(q[j] > x);

if(i < j) swap(q[i], q[j]);

}

quick_sort(q,l,j);

quick_sort(q,j+1,r);

}

int main(){

scanf("%d", &n);

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

quick_sort(q,0,n-1);

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

return 0;

}

如果你想看更多C++原创文章,关注一下吧!

C++打卡20-【排序模板】快速排序相关推荐

  1. C++打卡19-【排序模板】归并排序

    题目描述 输入nn个整数,用归并排序算法将这nn个数从小到大进行排序.n \leq 1000n≤1000. 输入格式 第一行,输入整数nn. 第二行,输入这nn个整数 输出格式 一行,按从小到大输出这 ...

  2. C语言排序算法 选择排序 插入排序 快速排序 qsort实现快排 堆排序

    常见排序算法 选择排序 选择排序(Selection sort)是一种简单直观的排序算法. 它的工作原理如下. 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素 ...

  3. 算法---排序--希尔排序和快速排序

    冒泡.选择.插入排序算法是三种简单的排序算法,它们的时间复杂度大O表示法都是O(N2),如果数据量少,我们还能忍受,但是数据量大,那么这三种简单的排序所需要的时间则是我们所不能接受的.接着我们在讲解递 ...

  4. (排序5)快速排序(Hoare,选key的随机数与三数取中优化,挖坑法与前后指针法等)

    快速排序 (Hoare大佬版本) 快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法,其基本思想为:任取待排序元素序列中 的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左 ...

  5. 数据结构与算法 第八天常见排序+冒泡排序+快速排序+文件IO+大数据排序+文件合并

    数据结构与算法 第八天常见排序+冒泡排序+快速排序+文件IO+大数据排序+文件合并 第一章 冒泡排序 [1]Bubble_Sort.c 第二章 快速排序 [1]quick_sort.c 第三章 大数据 ...

  6. 数据结构第16周 :( 希尔排序+ 堆排序 + 快速排序 )

    目录 希尔排序 堆排序 快速排序 希尔排序 [问题描述]给出一组数据,请用希尔排序将其按照从小到大的顺序排列好. [输入形式]原始数据,以0作为输入的结束:第二行是增量的值,都只有3个. [输出形式] ...

  7. 简易的选择排序与快速排序

    选择排序的思路非常简单,就是依次从头到尾挑选合适的元素放到前面.如果总共有n个节点,那么选择一个合适的节点需要比较n次,而总共要选择n次,因此总的时间复杂度是O(n2). 选择排序的思路是,假设有一个 ...

  8. 排序算法 | 快速排序,算法的图解、实现、复杂度和稳定性分析与优化

    今天讲解一下快速排序算法的原理以及实现.复杂度和稳定性分析与优化 目录 1 快速排序的原理 2 快速排序代码实现 3 复杂度和稳定性分析.优化 4 习题练习 1 快速排序的原理 快速排序是所有内部排序 ...

  9. 9个元素换6次达到排序序列_(算法四)高级排序(快速排序)

    1.快速排序 快速排序是对冒泡排序的一种改进.它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速 ...

最新文章

  1. 第一章 基础设施,1.3 阿里视频云ApsaraVideo是怎样让4000万人同时狂欢的(作者:蔡华)...
  2. ABAP门派现状报告
  3. 事件通知方式实现的重叠I/O模型
  4. 2021 腾讯技术十大热门文章
  5. 当代年轻人的“快乐秘籍”—— Z时代营销攻略
  6. 如何构建JavaScript警报框或弹出窗口
  7. 雷军宣布:启动小米成立以来最大组织架构变革(附内部邮件原文)
  8. “项目运行时出错,无法启动调试。绑定句柄无效”的解决办法
  9. PHP Primary script unknown 终极解决方法
  10. python代码实例-python程序实例
  11. linux c程序hello,Linux下实现c语言hello world 步骤
  12. yii2 表单提交没有对应的路由参数解决办法
  13. iPhone长截图快捷指令(科技兽修改版)
  14. 检测运行程序,强制电脑关机代码
  15. 历代iPad主要参数对比,更新于2021年09月
  16. 记录一次 CPU sy 过高的排查经历
  17. js获取浏览器默认语言设置并自动跳转
  18. Android Camera之Deferred Surface
  19. HTML+CSS ---- 背景图片
  20. 连接无线路由器显示windows找不到证书来登录无线网络

热门文章

  1. Springboot配置MongoDB连接池
  2. Excel表导入数据
  3. 宝塔面板 SSL 证书安装部署
  4. SICP学习笔记及题解---构造过程抽象(一)
  5. 【学习体会】Lighttools8.4.0:设置虚拟相机+仿真结果3D显示
  6. 安装SQL Server以及SSMS
  7. 【NOIP2002】银河英雄传说
  8. 图像处理保研面试_研究生保研面试的简历
  9. html fixed垂直居中,前端垂直居中的几种简单实现
  10. python架构师是做什么的_什么是架构师?架构师应该具备什么样的能力?