排序
#!/usr/bin/env python #! coding: utf-8 import random def getrandomdata(num): alist = [random.randint(1,1000) for i in range(num)] return alist # Bubble Sort def bubble(alist): length = len(alist) for i in range(length-1,0,-1): for j in range(i): if alist[j] > alist[j+1]: alist[j],alist[j+1] = alist[j+1], alist[j] return alist # Insertion Sorting def insert(alist): length = len(alist) for i in range(length-1): for j in range(i+1,length): if alist[i] > alist[j]: alist[i], alist[j] = alist[j], alist[i] return alist # Shell sort def shell(alist): length = len(alist) dist = length/2 while dist > 0: for i in range(0, dist): for j in range(i, length-dist, dist): for k in range(j+dist, length, dist): if alist[k] < alist[j]: alist[j], alist[k] = alist[k], alist[j] dist = dist/2 return alist if __name__ == '__main__': num = int(raw_input("Please input the length of list(between 0,10000):")) alist = getrandomdata(num) bubblelist = bubble(alist) alist = getrandomdata(num) insertlist= insert(alist) alist = getrandomdata(num) shelllist = shell(alist) print "Bubblelist is ", bubblelist print "Insertionlist is ", insertlist print "Shelllist is ", shelllist