def bubbleSort(L):
"""
冒泡排序,每一次1、2比较,2、3比较....每一次最大的是最后一个
时间复杂度:O(N^2)
"""
if len(L)==0 or len(L)==1:
return L
for end in range(len(L)-1,0,-1):
for i in range(0,end):
if L[i] > L[i+1]:
swap(L,i,j)
return L
def swap(L,i,j):
L[i] = L[i]^L[j]
L[j] = L[i]^L[j]
L[i] = L[i]^L[j]
L = [1,3,5,4,2,6,8,9,10,0]
sorted(L)
bubbleSort(L)
//对数器进行测试
def generateRandomList(maxSize,maxValue):
import random
LL = [random.random()] * (maxSize + 1)
for i in range(len(LL)):
LL[i] = int((maxValue + 1) * random.random()) - int(maxValue * random.random())
return LL
def isEqual(L1,L2):
if (len(L1)==0 and len(L2)!=0) or (len(L1)!=0 and len(L2)==0):
return False
if len(L1)==0 and len(L2)==0:
return True
if len(L1)!=len(L2):
return False
for i in range(len(L1)):
if L1[i]!=L2[i]:
return False
return True
def main():
testTime = 10000
maxSize = 100
maxValue = 100
succeed = True
for i in range(testTime):
L1 = generateRandomList(maxSize,maxValue)
bubbleSort(L1)
L3 = sorted(L1)
if isEqual(L1,L3) is False:
succeed = False
break
if succeed:
print("Nice")
else:
print("Fucking....")
print(L1)
print("\n")
print(L3)
main()
冒泡排序对数器测试
猜你喜欢
转载自blog.csdn.net/weixin_41362649/article/details/94277587
今日推荐
周排行