三级笔试题填空3

来源:百度知道 编辑:UC知道 时间:2024/06/16 13:50:41
(3)设有关键码序列(17,8,3,25,16,1,13,19,18,4,6,21),要按关键码值递增的次序排序,用初始增量为4的希尔排序法,一趟扫描后的的结果是(16,1,3,19,17,4,6,21,18,8,13,25)

您好,可以帮我解释以下为什么这道题的结果是(16,1,3,19,17,4,6,21,18,8,13,25)吗?

请大家帮忙详细地解释哦!小女子感激不尽!

17,8,3,25,16,1,13,19,18,4,6,21 h增量为4就是第一个数字和第5个和第9个....等等这几个数字排下序列
17和16,18 这3个数在原来的位置小到大排序
8和1和4在原来的3个位置上也排序列
3就和13,6在原来的3个位置排序
这只是排一次 就是16,1,3,19,17,4,6,21,18,8,13,25
接着就h增量为2 再接着为1,排几次序就可以了
这种排序不常见啊
简单排序 选择排序 堆排序这些常见些,我说的也不是很好 毕竟好久没看了 看到你说我又拿起书看了遍 都差不多忘了.
增量为3就是每隔2个数就分成一组 就是第一个 4个,7个,10个....等分成一组 在这组里面几个数字排序,排好后就从小到大放把这些数字放到第一个 第4个 第7个..等的位置上,这种排序是这样排的 意思就是先把长序列分成几个短的 在几个短的里排序.增量每排一次就除2,余数不要.例如增量为3,排了一次完整的序后 3/2=1了,增量就为1,这时排序就位置调动不大了