data = [16, 25, 39, 27, 12, 8, 45, 63]
def shell():
k = 1
y = 8
jmp = y // 2
while jmp != 0:
for i in range(jmp, y):
tmp = data[i]
j = i - jmp
while tmp < data[j] and j >= 0:
data[j + jmp] = data[j]
j = j - jmp
data[jmp + j] = tmp
print('%d' % k, end='')
k = k + 1
jmp = jmp // 2
for a in range(8):
print('%3d' % data[a], end='')
print()
shell()
'''
直接插入排序算法的一种更高效的改进版本。
1.划分指定区块
2.分别使用插入排序
3.缩小间隔
4.分别使用插入排序
'''
python希尔排序
最新推荐文章于 2024-09-07 10:13:52 发布