# -*- 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)
转载于:https://www.cnblogs.com/cloverclt/p/4757539.html