快速排序qsort
发布日期:2021-06-29 11:14:02
浏览次数:3
分类:技术文章
本文共 828 字,大约阅读时间需要 2 分钟。
快速排序
排序在各种场合经常被用到。
快速排序是十分常用的高效率的算法。 其思想是:先选一个“标尺”, 用它把整个队列过一遍筛子, 以保证:其左边的元素都不大于它,其右边的元素都不小于它。 这样,排序问题就被分割为两个子区间。 再分别对子区间进行上诉操作就可以了。(递归)
#includevoid swap(int a[], int i, int j) { int t = a[i]; a[i] = a[j]; a[j] = t;}int partition(int a[], int p, int r) { int i = p;//开始 int j = r + 1;//结束 int x = a[p]; while (1) { while (i < r && a[++i] < x); while (a[--j] > x); if (i >= j) break; swap(a, i, j); } swap(a, p, j); return j;}void quicksort(int a[], int p, int r) { if (p < r) { int q = partition(a, p, r); quicksort(a, p, q - 1); quicksort(a, q + 1, r); }}int main() { int i; int a[] = { 3, 5, 13, 6, 24, 2, 8, 19, 27, 6, 12, 1, 17}; int N = 13; quicksort(a, 0, N-1); for (i = 0; i < N; i++) printf("%d ", a[i]); printf("\n"); return 0;}
转载地址:https://blog.csdn.net/ZWHSOUL/article/details/79656145 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月07日 15时34分06秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
高并发高可用秒杀系统(一)
2019-04-29
php如何将base64数据流文件转换为图片文件?
2019-04-29
JavaScript 的addEventListener() 事件监听详解!
2019-04-29
JavaScript的DOMContentLoaded事件和load的区别?
2019-04-29
PHP+JavaScript实现图片预览上传功能开发!
2019-04-29
JSONView - Chrome插件安装详解!(谷歌浏览器插件)!
2019-04-29
上传图片到阿里云OSS和获取上传图片的url的详解 !
2019-04-29
webstorm 和 phpstorm 有什么区别呢?做 WEB 开发用哪个好?
2019-04-29
常见位运算
2019-04-29
武大学生用python敲出樱花开放 | 附源码
2019-04-29
【中文教程】简单粗暴入门TensorFlow 2.0 | 北大学霸出品
2019-04-29
经典面试题:如何保证缓存与数据库的双写一致性?
2019-04-29
一份来自亚马逊工程师的Google面试指南,GitHub收获9.8万星,已翻译成中文
2019-04-29
硬货 | Redis 性能问题分析
2019-04-29
Kafka为什么这么快?
2019-04-29
灵魂四连问:API 接口应该如何设计?如何保证安全?如何签名?如何防重?
2019-04-29
一个依赖搞定 Spring Boot 反爬虫,防止接口盗刷!
2019-04-29
酸爽!IDEA 中这么玩 MyBatis,让编码速度飞起!
2019-04-29
已拿 Offer!字节跳动面试经验分享
2019-04-29
Windows路由表透析
2019-04-29