码迷,mamicode.com
首页 > 编程语言 > 详细

排序算法(三)插入排序

时间:2019-08-21 15:11:00      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:nbsp   i++   个数   循环   算法   结果   举例   序列   一个   

举例:打牌时我们一张张的摸牌,将摸到的牌插入手牌的”顺子”里,凑成更长的顺子,这就是插入排序的含义。

设无序数组a[]长度为N,以由小到大排序为例。插入的原理是这样的:
1.初始时,第一个数据a[0]自成有序数组,后面的a[1]~a[N-1]为无序数组。令 i = 1;
2.将第二个数据a[1]加入有序序列a[0]中,使a[0]~a[1]变为有序序列。i++;
3.重复循环第二步,直到将后面的所有无序数插入到前面的有序数列内,排序完成。

技术图片
插入排序是一种比较快的排序,因为它每次都是和有序的数列进行比较插入,所以每次的比较很有”意义”,导致交换次数较少。

 

例子:

从小到大排序:

技术图片

结果:

技术图片

排序算法(三)插入排序

标签:nbsp   i++   个数   循环   算法   结果   举例   序列   一个   

原文地址:https://www.cnblogs.com/DreamFather/p/11388799.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!