排序
#!/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