谢尔排序又称缩小增量排序法,是由D.L.Shell在1959年提出的。
算法描述:
首先确定一个元素间隔数gap,然后将参加排序的序列按此间隔数从第一个元素开始依次分成若干个子序列,即分别将所有位置相隔为gap的元素视为一个子序列,在各个子序列中采用某种排序算法进行排序,然后减小间隔数,并重新将整个序列采用新的间隔数分成若干个子序列,再对子序列进行排序,然后再减小间隔数gap,直到gap = 1. 如:
输入数据:
a0 = 5. a1 = 12, a2 = 3, a3 = 45, a4 = 76, a5 = 98, a6 = 90, a7 = 12, a8 = 9, a9 = 66, a10 = 35, a11 = 99, a......
阅读全文