# -*- coding: cp936 -*- import random #生成1-200之间的随机数 def datalist(num): data=[] for i in range(0,num): data.append(random.randint(1,200)) return data #传统意义的冒泡排序 #待排序元素n个,两两进行比较,将最小的放到 第一个位置 #需进行 n-1 次循环,每次 比较的元素均比上次少一个 def bubblesort1(bubblelist): listlen=len(bubblelist) for i in range(1,listlen): for j in range(0,listlen-i): if bubblelist[j]>bubblelist[j+1]: bubblelist[j],bubblelist[j+1]=bubblelist[j+1],bubblelist[j] return bubblelist #冒泡排序升级版:发现不再 交换,则表示排序已经完成 def bubblesort2(bubblelist): listlen = len(bubblelist) flag=1 while flag==1: for i in range(1,listlen): for j in range(0,listlen-i): flag = 0 if bubblelist[j] > bubblelist[j+1]: bubblelist[j],bubblelist[j+1] = bubblelist[j+1],bubblelist[j] flag = 1 return bubblelist #主函数 if __name__=='__main__': datanum=raw_input("datanum=") num=int(datanum) numlist=datalist(num) print numlist print bubblesort2(numlist)