快速排序(过程图解)
现在交换哨兵i和哨兵j所指向的元素的值。交换之后的序列如下。
#include <stdio.h>
int a[101],n;//定义全局变量,这两个变量需要在子函数中使用
void quicksort(int left, int right) {int i, j, t, temp;if(left > right)return;temp = a[left]; //temp中存的就是基准数i = left;j = right;while(i != j) { //顺序很重要,要先从右边开始找while(a[j] >= temp && i < j)j--;while(a[i] <= temp && i < j)//再找右边的i++; if(i < j)//交换两个数在数组中的位置{t = a[i];a[i] = a[j];a[j] = t;}}//最终将基准数归位a[left] = a[i];a[i] = temp;quicksort(left, i-1);//继续处理左边的,这里是一个递归的过程quicksort(i+1, right);//继续处理右边的 ,这里是一个递归的过程
}
int main() {int i;//读入数据scanf("%d", &n);for(i = 1; i <= n; i++)scanf("%d", &a[i]);quicksort(1, n); //快速排序调用//输出排序后的结果for(i = 1; i < n; i++)printf("%d ", a[i]);printf("%d\n", a[n]);return 0;
}
快速排序(过程图解)相关推荐
- JAVA快速排序过程图解(10步之内看懂)
废话不多说,下面图解说明快速排序算法,并附上JAVA代码 假如我们对"3 4 7 2 4 3 1 4 5 9"这10个数进行快速排序 第1步,先设置一个基准数,这个基准数可以是任意 ...
- activiti-explorer mysql_Activiti explorer.war示例工程使用过程图解
Activiti explorer.war示例工程使用过程图解 发布时间:2020-09-03 07:26:22 来源:脚本之家 阅读:98 作者:yaominghui 工作流主要解决的主要问题是:为 ...
- jenkins配置python脚本参数_jenkins配置python脚本定时任务过程图解
这篇文章主要介绍了jekins配置python脚本定时任务过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 2.下载安装包后直接运行,进行选择 ...
- Java05-day05【方法(概述、调用过程图解)、带参方法、带返回值方法、重载、方法参数传递(基本类型、引用类型)】
java零基础入门到精通(2019版)[黑马程序员] 视频+资料:[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] &qu ...
- win7硬盘安装过程图解
win7硬盘安装过程图解 我都红字还放大了"根目录",可为什么还有人要放到文件夹里呢?我还怕有人不知道什么叫根目录,还专门用通俗的,小学生都能理解的话解释了什么叫根目录,可是还是有 ...
- linux中python安装_linux环境下的python安装过程图解(含setuptools)
这里我不想采用诸如ubuntu下的apt-get install方式进行python的安装,而是在linux下采用源码包的方式进行python的安装. 一.下载python源码包 打开ubuntu下的 ...
- python实现数据恢复软件_pyinstaller还原python代码过程图解
这篇文章主要介绍了pyinstaller还原python代码过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 pyinstaller 的作用就 ...
- 计算机网络封装过程图,网络传输过程是怎样的?网络数据传输的过程图解
下面要给大家讲到的是一个非常基础的问题,大家对于网络传输过程都了解吗?你知道具体的过程是怎样的吗?下面一起仔细的了解一下吧! 一.过程图解 首先我们来看一个非常简单的过程图: 在数据链路层有一个标识, ...
- 安装操作系统的过程图解
安装操作系统的过程图解 这段时间因为突然对安装操作系统比较感兴趣,所以,就萌生了熟悉安装单操作系统.多操作系统的想法,当然,也凭任性的坚持付诸了行动,并写成了比较挫的安装图解.就把这些贴出来吧,望看了 ...
- python调用os.system启动anaconda环境_在Mac中PyCharm配置python Anaconda环境过程图解
在 python 开发中我们最常用的IDE就是PyCharm,有关PyCharm的优点这里就不在赘述.在项目开发中我们经常用到许多第三方库,用的最多的命令就是pip install 第三方库名 进行安 ...
最新文章
- centos7离线安装metasploit
- left join 与left outer join的区别
- 唯品会API网关设计与实践--转
- stdthread(6)并发mutex
- 【深度学习】深度学习在视觉搜索和匹配中的应用
- c#简单自定义异常处理日志辅助类
- 通过粘性仙人掌基元进行延迟加载和缓存
- win7下的nginx小demo
- java 如何导出json文件_java导出json格式文件的示例代码
- orm2 中文文档 8. 聚合
- Atitit v2 工作计划与工作日志推荐格式markdown 与模板 attilax 总结
- 计算机软件版本号是什么意思,带你深入了解解密Windows系统版本和版本号
- 深入理解JVM & G1 GC
- 大一acmer日常记录day15
- 小提琴1234567位置图解_1秒找到小提琴上的每个调音阶
- vue2和vue3 的 keep-alive的用法
- 电脑录屏怎么录?超详细的录屏教程来了
- Polar码(2)- Polar编码
- bat 批处理 B站缓存视频转成 .mp4格式
- Educational Codeforces Round 140 (Rated for Div. 2)题解
热门文章
- linux local root exploit,Linux非交互环境下本地提权思路与反思 linux localroot exploit
- 花猫c语言,C语言实现小猫钓鱼游戏 - 技术经验 - W3xue
- 零成本、零流量,我是如何空手反套白狼?
- Word2010经常莫名其妙无法撤销
- 关于农历闰月年份的口诀
- oracle同义词6,Oracle同义词
- oracle中同义词作用,Oracle同义词创建及其作用
- Python 流程控制
- linux全角半角切换快捷键,切换中英文标点快捷键,全角半角之间的转换快捷键
- Bada学习-SDK的安装