冒泡排序是自顶向下单向地比较两个相邻元素,按照大小交换它们的位置,每完成一趟整个数列的比较,就能把最底层的元素确定下来,这样下一趟比较就能减少一个元素,并且再确定下来倒数第二个元素,一趟一趟的不断比较,直到整个数列排好序。
时间复杂度:最好的情况是在数列在排序前已经是顺序的,T=O(N)
最坏的情况是整个数列是完全逆序的,T=O(N^2)
print("冒泡排序")
c=[7,10,0,12,1,5,3,11,4,9,6,8,2,13]
def Bubble_sort(c):
N=len(c)
for p in range(N-1,-1,-1):
flag=0
for i in range(0,p):
if c[i]>c[i+1]:
c[i],c[i+1]=c[i+1],c[i]
flag=1
if flag==0:
break
return c
Bubble_sort(c)