时间复杂度O(N^2),空间复杂度O(1)
主要思想:给一个列表L = [a,b,c,d,e,...],第一次遍历0-N-1,第一个位置和第二个位置相比较,如果比较大,就替换;第二个位置和第三个位置同理,遍历一次,最大值落在最后一个位置,下一次遍历从0-N-2,......
def bubbleSort(L):
if len(L) < 2:
return L
for end in range(len(L)-1,0,-1):
for i in range(end):
if L[i] > L[i+1]:
swap(L,i,i+1)
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]
bubbleSort(L)