希爾排序是不穩定的算法算法
# -*- coding: UTF-8 -*- ''' Created on 2016年11月28日 @author: llg shell 排序是 插入排序的一個變種 ''' def shellsort(seq): length=len(seq) inc=0 while inc<=length/3: inc=inc*3+1 print(inc) while inc>=1: for i in range(inc,length): tmp=seq[i] for j in range(i,0,-inc): if tmp<seq[j-inc]: seq[j]=seq[j-inc] else: j+=inc break seq[j-inc]=tmp inc//=3 mylist0 = [12, 11, 13, 1, 2, 4, 3] shellsort(mylist0) print (mylist0)