hongjie_lin

如何上手一门语言

常见排序之——插入排序

常见排序之——插入排序

何为插入排序:插入排序就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。简单来说,就是指已经插入数组中的元素都是有序的。


举个粟子:

一个数组如下所示:3,4,2,7,5,1,9,0

当插入3的时候,3保持不变;

插入4的时候,4>3,故顺序保存不变;

插入2的时候,4>2,故交换,交换完之后发现3>2,再交换,故数组就变成:2,3,4(保持从小到大的顺序了);

插入7时,顺序保持不变;

插入5时,由于5<7,故交换顺序,此时变为:2,3,4,5,7;……这样不断进行下去就可以将数组排好序,

不难看出:该排序方法的时间复杂度还是O(N^2),不过该算法的一个好处就是稳定性变好了。(题外话:何为稳定性好呢?

稳定性好是指:一个数组中两个相同的元素,经过排序之后他们在数组中的相对位置保持不变。。)

下面附上程序源码:




阅读更多
文章标签: 排序算法入门
个人分类: 排序算法入门
想对作者说点什么? 我来说一句

五种常见排序法的比较

2010年06月01日 4KB 下载

几种排序方法

2012年08月13日 222KB 下载

排序算法(java)实现

2008年09月09日 1KB 下载

vcsort各种排序算法实现

2010年12月27日 25KB 下载

没有更多推荐了,返回首页

不良信息举报

常见排序之——插入排序

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭