花几分钟轻松搞定快速排序算法
//快速排速算法,使用迭代 array待排序的数组, s是数组的首索引,t是最后一个元素索引
void QuickSort(int[] array, int s, int t)
{//定义变量保存被排序的数组索引int i = s, j = t;//一个元素就没有必要排序了吧,所以索引s必须小于tif(s < t){//开始默认数组第一个记录做了基准点//什么意思呢,就是我们这个做为一个点,让其左边的都小于他,右边都大于他int temp = array[i];//开始两端扫描比较大小while(i != j) //只要i!=j 说明我们两端扫描就还没完{while(j >= i) //开启从右端到左边的扫描{if(array[j] > temp){//开始左移动下标j--;}else{//那么需要移动当前基准点到当前比较的元素对应的索引处//我们把j索引对应的元素移动到了i处,那么j处就空了一个位置array[i] = array[j]; break;} }//开始找大的填到j里 while(i < j) //开启从左边到右边的扫描{if(array[i] < temp){i++; //移动到下个元素}else{//说明找到了比基准元素大的,那么我们就把当前这个大的数移动到上次留下的坑array[j] = array[i];break; //并且要结束循环}}}}//执行到这来说明i == j了,说明我们扫描已经到了一个元素了那么这个元素肯定是空的array[i] = temp; //现在我们已经把基准点放在了正确位置,因为这个时候左边的全部小于他,右边的全部大于他//既然这个数搞定了,那么我们现在来排序这个数的两侧,我们用递归把,性质相同//左边递归QuickSort(array,s,j - 1);//右边递归QuickSort(array,j + 1,t);
}
花几分钟轻松搞定快速排序算法相关推荐
- 【腾讯TMQ】30分钟轻松搞定代码瘦身
导语 当一个新的产品想要复用一个旧的产品的逻辑的时候,是直接把全盘的代码copy过去就可以了吗?站在功能的角度当然没问题,但是这对于新产品是相当臃肿的,因为一些它根本不会使用的功能代码也包含在里面.同 ...
- 在线绘图|2分钟轻松搞定桑基图(Sankey diagrams)
桑基图(Sankey diagrams) 桑基图(Sankey diagrams),即桑基能量分流图,也叫桑基能量平衡图.用来展示数据的"流动"变化,分支的宽度表示流量的大小,应用 ...
- 五分钟轻松搞定产品需求文档!这可能史上最全PRD文档模板…
本文由 @JustWu 原创发布于社区 为什么写这篇文章? 第一:写PMCAFF的PRD文档,大家都是用户,比较好参考与理解,方便大家来找我写的不好的地方. 第二:我在自学PRD文档的编写过程中,总 ...
- Wps格式怎么转换成word,只要三分钟轻松搞定
Wps格式怎么转换成word?现如今使用较多的两款文件编辑工具就是wps和word.每个人都有自己的喜好,自己的操作习惯.对于习惯使用word的人来说,用起wps来就十分的别扭.这样也会影响到学习与工 ...
- 如何给PDF文件添加页眉页脚,一分钟轻松搞定
如何给PDF文件添加页眉页脚?很多在使用PDF文件的人都会有这样的问题,不知道如何给PDF文件添加页眉页脚,想要给PDF文件添加页眉页脚需要使用到PDF编辑器,下面就使用迅捷PDF编辑器为大家操作一下 ...
- 视频剪辑配音怎么弄?三分钟轻松搞定短视频配音!
想必大家闲暇时光的消遣方式和我一样,主要是刷"短视频"吧?短视频作为当下势头正热的一股潮流,它不仅改变我们获取新闻资讯的方式,也让许多小伙伴萌生了做短视频的想法,有想法那定然要掌握 ...
- 软件测试 | 测试开发 | 30 分钟轻松搞定正则表达式基础
提起正则表达式,可能大家的第一印象是:既强大好用但也晦涩难懂.正则表达式在文本处理中相当重要,各大编程语言中均有支持(跟 Linux 三剑客结合更是神兵利器). 正则表达式是对字符串操作的一种逻辑公式 ...
- 60分钟轻松搞定树莓派 AI 服务开发
目前,物联网.人工智能已经深入到医疗.家居.教育等多个领域,正在极大改变人们的日常生活.树莓派能够运行 Raspbian.Windows IoT Core 等操作系统,受众多物联网技术爱好者的欢迎.微 ...
- 十分钟教科书式教条,轻松搞定系统分析师的论文
十分钟教科书式教条,轻松搞定系统分析师的论文 前言 因为我发现很多人考试都是死在论文上的.平时学习时,对论文也是老虎吃天-无从下口. 系之前,统架构设计师部分的论文博客,大多以一篇范文为例.而这次,我 ...
- 背包算法轻松搞定——01背包算法、部分背包算法
这篇文章过程讲得很详细,一文搞懂(点击看原文) 不懂之前觉得很难理解,觉得很复杂,其实没有必要.因为只要懂动态规划就可以很轻松搞定0-1背包算法(部分背包算法更简单,排序即可).之前看了很多篇文章都觉 ...
最新文章
- UIImage加阴影
- VSCode输出框中文乱码问题
- 电脑qq文件服务器地址,在电脑上接收QQ地理位置打不开,提示获取不到详细地址...
- 二分查找及一般拓展总结
- sp.net MVCJQuery 应用(表单验证)
- Spring事务-1
- AAAI论文Joint Extraction of Entities and Overlapping Relations Using Position-Attentive Sequence阅读笔记
- recipe terminated with fatal error: spawn xelatex enoent.
- AD637_高精度,宽带RMS-DC转换器
- 软考信息系统项目管理师知识点总结(高项十大管理案例分析作文)
- 地震观测仪器的历史和发展趋势(一)
- VR全景图片浏览实现
- 物体识别全流程(Ubuntu16.04)结合ROS
- 【论文笔记】Deep Reinforcement Learning for Robotic Pushing and Picking in Cluttered Environment
- 巫妖王之怒诺森德大陆全貌视频 魔兽世界
- html5手指滑动图片放大缩小,移动端如何实现图片通过捏合手势放大缩小呢?
- Mysql数据库远程连接的两种方式
- 历史-大秦帝国1-4
- proe中的一些使用技巧!
- Citrix XenDesktop 与 Hypervisor 的版本兼容列表
热门文章
- 万字长文 | 最好的 C++ 模板元编程干货!
- 2017公共DNS服务器评估报告——公共DNS推荐(摘录)
- PubYun动态域名
- 2.1 VB语言基础——关键字和标识符
- 主要搜索引擎(Google和百度、雅虎)的站内搜索代码
- 2021年全球陶瓷基板收入大约409.7百万美元,预计2028年达到657.3百万美元
- 【出国面试】出国 交换 / 访学 / 留学 国外导师面试经验分享
- 看完这份全国各地结婚/离婚数据,我彻底懵了。。。
- mysql alter table if exists_MySQL中的alter table命令的基本使用方法及提速优化
- 鸿蒙开发必备书籍整理【收藏系列】