早教吧作业答案频道 -->其他-->
关于C++排序很简单的问题给出一组关键字(12,2,16,30,8,28,4,10,20,6,18),按从小到大顺序,给出一组关键字(12,2,16,30,8,28,4,10,20,6,18),按从小到大顺序,(1)写出其进行希尔排序(排序的间隔增量为5)的结果;
题目详情
关于C++排序很简单的问题
给出一组关键字(12,2,16,30,8,28,4,10,20,6,18),按从小到大顺序,
给出一组关键字(12,2,16,30,8,28,4,10,20,6,18),按从小到大顺序,
(1)写出其进行希尔排序(排序的间隔增量为5)的结果;(麻烦给出详细点的过程啊)
给出一组关键字(12,2,16,30,8,28,4,10,20,6,18),按从小到大顺序,
给出一组关键字(12,2,16,30,8,28,4,10,20,6,18),按从小到大顺序,
(1)写出其进行希尔排序(排序的间隔增量为5)的结果;(麻烦给出详细点的过程啊)
▼优质解答
答案和解析
希尔排序是把关键字按增量分为多组,对每组使用插入排序,然后把增量减小,重复些过程,到增量为1时使用插入排序就将关键字排好序了.
第一个增量为5的情况下,给出的关键字可分组如下:
12,2,16,30,8
28,4,10,20,6
18
希尔排序的组指的是上面这个数阵中的各列.如12,28,18为一组,2,4为另一组.
分好组后对各组进行简单插入排序,结果为:
12,2,10,20,6
18,4,16,30,8
28
按行读取就是第一次排序的结果:12,2,10,20,6,18,4,16,30,8,28.
这就是楼主要的结果.
如果要继续排完的话,需要减小增量.
假设增量减为3,则把第一次的结果按3进行分组重复上述过程.然后再把增量减小到1,进行直接插入排序就OK了.
第一个增量为5的情况下,给出的关键字可分组如下:
12,2,16,30,8
28,4,10,20,6
18
希尔排序的组指的是上面这个数阵中的各列.如12,28,18为一组,2,4为另一组.
分好组后对各组进行简单插入排序,结果为:
12,2,10,20,6
18,4,16,30,8
28
按行读取就是第一次排序的结果:12,2,10,20,6,18,4,16,30,8,28.
这就是楼主要的结果.
如果要继续排完的话,需要减小增量.
假设增量减为3,则把第一次的结果按3进行分组重复上述过程.然后再把增量减小到1,进行直接插入排序就OK了.
看了 关于C++排序很简单的问题给...的网友还看了以下:
有个题目问问英语的A=1B=2C=3以此类推9.14.14.7.12.1.14.4.4.18.9. 2020-05-13 …
1:三棱锥S-ABC侧棱为L,底面边长为a,写出求此三棱锥S-ABC体积的一个算法2:写出在下面数 2020-05-20 …
设有字符序列(17,8,3,25,16,1,13,19,18,4,6,24),问新序列(6,8,3, 2020-05-23 …
设有字符序列(17,8,3,25,16,1,13,19,18,4,6,24),问新序列(6,8,3, 2020-05-23 …
设待排序序列为{10,18,4,3,6,12,1,9,15,8}请给出用希尔排序每一趟的结果。增量 2020-07-22 …
数据结构习题:编写判断一个字符序列是否是回文的函数.非常急,《数据结构-使用C语言》第四版,朱战立编 2020-11-07 …
adobeacrobat在将图片合并成PDF时,它默认的顺序很乱,怎么调整呢?adobeacroba 2020-11-08 …
用简单插入排序法对关键字值序列{12,3,24,45,1,18}按从小到大的顺序进行排列,写出每趟排 2020-12-24 …
一个两位数,它的两个数位上的数字和是8,而这个数加18后所得的数,其数字顺序与原有的两位数的数字顺序 2021-01-07 …
一、用英语写出下列数字.1.462.13483.5784.2000000二、写出下列数字的序数词形式 2021-01-14 …