希尔排序 描述 利用希尔排序算法实现线性表的排序。希尔排序是根据给定的增量序列将线性表分隔成某个“增量”的记录组成一个子序例,在子序列中采用直接插入排序完成。 输入 第一行为元素个数n(1<=n<=1000),第二行为n个元素值(整数),即需要排序的元素个数,第三行增量序列中增量个数m,第四行为m个增量,可以假定最后一个增量为1。 输出 对每一测试用例,用m行输出各增量进行希尔排序结果,用空格隔开。 样例输入 10 49 38 65 97 76 13 27 49 55 4 3 5 3 1 样例输出 13 27 49 55 4 49 38 65 97 76 13 4 49 38 27 49 55 65 97 76 4 13 27 38 49 49 55 65 76 97
时间: 2023-03-12 16:05:47 浏览: 98
希尔排序,也称递减增量排序算法
希尔排序是一种改进的插入排序,它采用增量序列将数组分成多个子序列,然后分别对各个子序列进行插入排序,最后整体进行插入排序。根据给定的增量序列,先以第一个增量3将数组分成3组,然后对每组的元素进行插入排序,此时数组变成:13 4 49 38 27 49 55 65 97 76;接着以增量5将数组分成5组,每组进行插入排序,此时数组变成:4 13 27 38 49 49 55 65 76 97;最后以增量为1进行插入排序,此时数组变成:4 13 27 38 49 49 55 65 76 97,排序完成。
阅读全文