插入排序
发布日期:2021-07-01 00:54:55
浏览次数:2
分类:技术文章
本文共 648 字,大约阅读时间需要 2 分钟。
插入算法到底是怎么样的呢?比如有十个人从左往右无序的拍着,现在要你按身高从低到高排序,你会怎么排序呢?
首先第二个人和第一个人比较,如果第二个人比第一个矮,那么他们互换位置,否则原地不动,此时前两个人就排序好了,然后第三个人再与前面两个人比较,第三人站出来,看看前面两人相比,哪个位置中自己比左边的高比右边的矮,然后就插进去,如果不是,就不动。,接下来就是这样排序。那么怎么找到比左边高比右边矮的那个位置呢?因为左边都是已经排好了的,所以依次与左边的比较,直到运到一个比他矮的,那么这个位置就是比左边高比右边矮的位置。如果没找到,那么他就是最矮的那个,那么他排在最左边,那么怎么插入呢?因为每一个与左边一个一个比较的那个人都是先站出来,所以他的那个位置是空的。这个时候在找到比他矮的那个人之前,每比完一个,与他进行比较的那个人就往右挪一个位置,然后他就可以插进去了,所以在程序中要先用一个变量保存这个“站出来”的数
#includeint main(void){ int i,j; int temp; // 用于存站出来的数 int a[] = {900, 2, 3, -58, 34, 76, 32, 43, 56, -70, 35, -234, 532, 543, 2500}; int n = sizeof(a) / sizeof(a[0]); for(i=1; i =0 && (a[j]>temp)) // 与左边所有人都比完了或者找到一个比他矮的为
转载地址:https://m528964214.blog.csdn.net/article/details/89819719 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月07日 08时36分54秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
关于C语言中的结构体对齐
2019-05-01
数据恢复过程中需要注意的一些问题
2019-05-01
const int *p,const * int p,int const *p
2019-05-01
解析大端模式和小端模式
2019-05-01
C++ 使用delete删除指针后应该做的工作
2019-05-01
内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理]...
2019-05-01
define入门
2019-05-01
头文件中 #ifndef---#define---#endif的作用
2019-05-01
分析Linux内核启动过程:从start_kernel到init
2019-05-01
系统调用过程的理解
2019-05-01
LeetCode 96 Unique Binary Search Trees 解题报告
2019-05-01
LeetCode 136 Single Number解题报告
2019-05-01
LeetCode 137 Single Number II 解题报告
2019-05-01
LeetCode 62 Unique Paths 解题报告
2021-07-04
跟踪sys_mkdir的系统调用过程
2021-07-04
Linux系统fork执行过程
2021-07-04
跟踪sys_execve的执行过程
2021-07-04
分析schedule()的执行过程
2021-07-04