AcWing - 快速排序(快排)
发布日期:2021-07-01 00:21:43
浏览次数:4
分类:技术文章
本文共 938 字,大约阅读时间需要 3 分钟。
题目链接:
时/空限制:2s / 64MB题目描述
给定你一个长度为n的整数数列。
请你使用快速排序对这个数列按照从小到大进行排序。
并将排好序的数列按顺序输出。
输入格式
输入共两行,第一行包含整数 n。
第二行包含 n 个整数(所有整数均在1~10^9范围内),表示整个数列。
输出格式
输出共一行,包含 n 个整数,表示排好序的数列。
数据范围
1≤n≤100000
输入样例
5
3 1 2 4 5
输出样例
1 2 3 4 5
解题思路
题意:将一个整数数列从小到大排个序。
思路:因为就是练习快排的,所以就用快排写了。Accepted Code:
/* * @Author: lzyws739307453 * @Language: C++ */#includeusing namespace std;const int MAXN = 1e5 + 5;int spt[MAXN];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() { int n; scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d", spt + i); Quick_Sort(spt, 0, n - 1); for (int i = 0; i < n; i++) printf("%d ", spt[i]); printf("\n"); return 0;}
转载地址:https://lzyws739307453.blog.csdn.net/article/details/99822768 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月07日 21时11分04秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Oracle的pfile和spfile的一点理解和笔记
2019-04-30
java实现稀疏数组及将稀疏数组存入硬盘中
2019-04-30
2021-05-18
2019-04-30
基础架构系列篇-NGINX部署VUE
2019-04-30
基础架构系列篇-系统centos7安装kafka
2019-04-30
软件质量的8个特性
2019-04-30
2021年不可错过的17种JS优化技巧(一)
2019-04-30
在 Vue 中用 Axios 异步请求API
2019-04-30
MySQL进阶查询(SELECT 语句高级用法)
2019-04-30
Mysql 之主从复制
2019-04-30
【NLP学习笔记】中文分词(Word Segmentation,WS)
2019-04-30
对于时间复杂度的通俗理解
2019-04-30
如何输入多组数据并输出每组数据的和?
2019-04-30
行阶梯型矩阵
2019-04-30
MATLAB指定路径保存图片方法
2019-04-30
JAVA学习笔记6 - 数组
2019-04-30
【学习笔记】Android Activity
2019-04-30
location区段
2019-04-30
linux内存的寻址方式
2019-04-30