Algorithms————insertion_sort
来源:互联网 发布:网络摄像头安装步骤 编辑:程序博客网 时间:2024/06/15 23:16
void insertion_sort(enme a[],int count){ int i,key; for(int j=1;j<=count-1;j++) { key = a[j]; //哨兵 i = j - 1; while(i>=0 && a[i]>key) { a[i+1] = a[i]; i--; } a[i+1] = key; }}
插入排序的大致思路为:
一组数,用下标作为索引,逐个比较,就如同排放手牌的时候,第一张不用比较,直接“插入”,第二张与前一张做比较,第一张较大的往后移一位,如果前面还有牌则继续比较,此时仅有一张牌,所以结束,继续抽下一张牌,继续比较,与它的前一张牌进行比较,第二张较大的往后移一位,与第一张做比较,若它比较大,比第一张大,则结束,不是则第一张往后移一位,最后,第三章替换此位置,如此循环,退出循环的条件是,所抽的牌较大可以在其中插入,或者牌比手中的牌都要小,则排在第一位。
这里面我隐约能感受到循环不变式,但是又说不出来,可能再看几遍就差不多了。
好了,我们可以看得出来,我们使用了两次循环,一次:抽牌,二次:比较,移位。那么可想我们的时间性能是有点差的,两次的循环感觉是n^2,我现在还不能独立计算,还很模糊,加油学习!
阅读全文
0 0
- Algorithms————insertion_sort
- Algorithmic Implementation series(1)——Implementation of Insertion_sort
- Algorithms—抽签
- Algorithms—三角形
- Algorithms—46.Permutations
- Algorithms—77.Combinations
- Algorithms—78.Subsets
- Algorithms—120.Triangle
- Algorithms—15.3Sum
- Algorithms—18.4Sum
- jLayout — JavaScript Layout Algorithms
- Algorithms—27.Remove Element
- Algorithms—36.Valid Sudoku
- Algorithms—70.Climbing Stairs
- Algorithms—22.Generate Parentheses
- Algorithms—55.Jump Game
- Algorithms—202.Happy Number
- Algorithms—75.Sort Colors
- python hash算法实现
- c中各个变量存储的位置
- 线代009 伴随矩阵、逆矩阵
- Spring之旅
- Centos7安装DHCP服务
- Algorithms————insertion_sort
- 大学生集成电路设计应用创新大赛闲谈(成都之行)
- 优秀博文推荐:技能篇
- Solr的安装使用
- js内存泄漏常见的四种情况
- C++11多线程的原子操作
- 淘宝 sign值 加密
- SpringMVC启动过程详解--转载
- 文本截取