读书人

希尔排序最后一步是插入排序?小弟我如

发布时间: 2012-03-24 14:00:46 作者: rapoo

希尔排序最后一步是插入排序?我怎么觉得是冒泡的第一步
今天在记算法时发现的

我在草稿纸上写了10个数来测试希尔排序,加强记忆

然后到最后步长为1的时候就跟冒泡第一步一样了

但我上网查资料时,怎么都说“最后一步就是插入排序”?

就是 01 12 23 34 45 这样的
这好像是冒泡的第一步吧,怎么都说是插入排序?

[解决办法]
我猜你倒数第二步用的gap是2
[解决办法]
哈哈,希尔排序我都忘了!!
[解决办法]
唉..忘记了...才一个月前看得..
[解决办法]
外层是步长,中层是步长开始逐渐+1,内层是按步长的向前插入排序。
[解决办法]
楼主有潜力。
[解决办法]
所以说简洁点就是碰巧了。。。呵呵
[解决办法]
冒泡排序是从n个元素中把最大(或最小)的“冒泡”,即每次排序,都能把一个元素确定它的最后所在的位置,而插入排序不到最后一步,你是得不到任何元素的最终位置的(对所有情况考虑,特殊情况除外)
比如对(4,2,1,8,5,9,3)升序排序:
冒泡的第一遍后:(2,1,4,5,8,3,9) 最大元素(这里是9)会得到它的最终位置
而插入排序的第一步后:(2,4,1,8,5,9,3) 任何元素都不在它的最终位置

读书人网 >C语言

热点推荐