冒泡排序对数器测试

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
今日推荐