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

插入排序法

时间:2016-05-13 09:40:53      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

前言

      最近买了一本算法导论的书籍,同学念研究生就是用的这本书,其实这些算法数据结构直接就该弄完的,都工作四年了,只是知道一点说来惭愧,不懂算法的程序员不是好的程序员。算法导论刚开,从前往后看的,第一章的插入法看书的图还是看的不明白容易产生误导,于是自己写了代码才更加的理解了。

正文

      一是看书的文字描述比较枯燥,二是看书上的图感觉不对劲儿,也是自己理解有限。

      这是书中的原图:

      技术分享

      关于从上图中(d)开始我自我感觉这画的不好,下面是我自己做的更加容易理解插入算法的图

      技术分享

      也就是遍历,从索引1的位置开始,每次遍历的item作为key来进行对比作为遍历的条件。背景色为粉色的项为每次遍历要走的key,外面的大遍历是整个数组的长度,而里面的小循环实际是key的index倒序的遍历。那么每次遍历自我感觉可以是把每次要遍历的项指向了key,通过与key的比较确定每一项的位置。每次对比如果没有打错号就是可以对比并且符合对比后不是key项的将要像右移动一位。如果没有对比那么就是保持位置不动即可。

     代码演示C#:         

     技术分享

     这样感觉起来更容易理解一下,不明白的时候找代码调试一下就豁然开朗。

总结

     人在做,天在看。认真做好自己,工作时候就是工作什么时候干什么事情。

插入排序法

标签:

原文地址:http://www.cnblogs.com/hackerxiaoyon/p/5485919.html

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