defBubble_sort(alist):
n =len(alist)-1for i inrange(n-1):for j inrange(0,n-i):if alist[j]> alist[j+1]:
alist[j],alist[j+1]= alist[j+1],alist[j]return alist
if __name__ =='__main__':
alist =[15,82,5,69,94,21,57,81,6]
Bubble_sort(alist)print(alist)>>[5,6,15,21,57,69,81,82,94]
选择排序
选择排序
循环n次,每次都把最头的数作为最小数,遍历后面的所有数,把更小的数的索引记录下来,交换到头部去,
defselect_sort(alist):
n =len(alist)for i inrange(n-1):
index = i
for j inrange(i+1,n):if alist[j]< alist[i]:
index = j
alist[index],alist[i]= alist[i],alist[index]return alist
if __name__ =='__main__':
alist =[15,82,5,69,94,21,57,81,6]
select_sort(alist)print(alist)>>[5,6,15,21,57,69,81,82,94]
冒泡排序冒泡排序对一个输入的列表循环n次,每次比较前后两个数,把大的数交换到后面,慢慢的沉下去,小的数自然就浮起来了,这也就是所谓的冒泡def Bubble_sort(alist): n = len(alist)-1 for i in range(n-1): for j in range(0,n-i): if alist[j] > alist[j+1]: alist[j],alist[j+1] = ali