python(冒泡排序及优化版)

#coding=utf-8
#冒泡排序
import random

print("冒泡排序")
print("随机生成一个列表")

list = []

for i in range(8):
    num = random.choice(range(100))
    list.append(num)    
print(list)

print("冒泡排序后:")
for i in range(len(list)-1):
    for j in range(0+i,len(list)):
        if (list[i]>list[j]):
            list[i],list[j] = list[j],list[i]
print(list)
#coding=utf-8
#优化版冒泡排序
import random

print("优化版冒泡排序")
print("随机生成一个列表")

list = []

for i in range(8):
    num = random.choice(range(100))
    list.append(num)    
print(list)

print("冒泡排序后:")
length = len(list)
flag = True 
while (flag and length>0):
    flag = False
    for i in range(length-1):
        if(list[i]>list[i+1]):
            list[i],list[i+1] = list[i+1],list[i]
            flag = True
    length -= 1
print(list)

最优情况下,优化版的时间复杂度为n ,普通版是n的平方

相同列表下,优化版会比普通版排序的更快些

猜你喜欢

转载自blog.csdn.net/weixin_41671390/article/details/84965077