#!/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(0, l): for j in xrange(i, l - gap, gap): if arr[j] > arr[j+gap]: arr[j], arr[j+gap] = arr[j+gap], arr[j] return arr
原文:http://www.cnblogs.com/fengfengtk/p/7686466.html