使用python实现各种简单排序,对数字由大到小进行排序。
#sort number list
str = raw_input('please input number list: > ')
list = str.split(',')
number = []
length = len(list)
i=0
while(i<length):
number.append(int(list[i]))
i=i+1
print number
#bubble sort
i=0
while(i<length-1):
k=0
while(k<length-i-1):
if(cmp(number[k],number[k+1])<0):
number[k],number[k+1]=number[k+1],number[k]
k=k+1
i=i+1
print "bubble sort:", number
#select sort
i=0
while(i<length):
max=i
k=i+1
while(k<length):
if(number[k]>number[max]):
max=k
k=k+1
number[i],number[max]=number[max],number[i]
i=i+1
print 'select sort:', number
#insert sort
i=1
while(i<length):
k=0
while(k<i):
if(number[i]<=number[k]):
k=k+1
else:
tmp=number[i]
j=i
while(j>k):
number[j]=number[j-1]
j=j-1
number[j]=tmp
if(k==i):
pass
i=i+1
print 'insert sort:', number
#improved insert sort
i=1
while(i<length):
k=i
while(k>0):
if(number[k]>number[k-1]):
number[k],number[k-1] = number[k-1], number[k]
k=k-1
i=i+1
print 'improved insert sort:', number
测试结果如下: