python实现shell排序(正宗的缩小增量插入排序)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#插入排序,缩小增量
def shell_sort(arr):
gap = l = len(arr)
while(gap > 1):
gap = gap/2
for i in xrange(gap, l):
for j in xrange(i, 0, -gap):
if arr[j] < arr[j-gap]:
arr[j], arr[j-gap] = arr[j-gap], arr[j]
return arr

浙公网安备 33010602011771号