可以发现,总共需要循环数组的长度-2次。而且每排序n次,末尾就会有n个数不用排序。我们一步一步来,首先先来个函数,并且加上循环
def Bubble(arr): for n in range(len(arr)-2): pass
然后,让x从零开始与下标为x+1的比较,一直比较到已经排序好的
def Bubble(arr): for n in range(len(arr)-2): for x in range(0,len(arr)-1-n): #减一是因为要和他的下标加一的数比较,避免下标溢出 a = arr[x] b = arr[x+1] if a>b: arr[x],arr[x+1]=arr[x+1],arr[x] #交换
不要忘记返回噢!
def Bubble(arr): for n in range(len(arr)-2): for x in range(0,len(arr)-1-n): a = arr[x] b = arr[x+1] if a>b: arr[x],arr[x+1]=arr[x+1],arr[x] return arr
好了,冒泡排序就到这里!
原文链接:https://blog.csdn.net/icaijy/article/details/106430133