冒泡排序顾名思义就是相邻的两个元素进行大小的比较,如果左边的元素比右面的元素大(或小),则交换两个元素的位置,以此类推。这样就可以把所有元素中最大(或最小)的元素放到列表的尾部。由于整个过程非常像气泡浮上来,所有叫他冒泡排序。
时间复杂度:O(n²)
空间复杂度:O(1)
想要学习Python或交流Python的同学欢迎私聊探讨~评论区DD我,无偿分享学习资料!!
def bubble_sort(alist): ''' len(alist)表示传参进来的列表长度; len(alist)-1表示每次遍历需要比较的次数,是逐渐减小的; ''' for j in range(len(alist)-1,0,-1): # j 表示每次遍历需要比较的次数,是逐渐减小的 for i in range(j): #alist[i]表示传参进来的列表下标,alist[i+1]表示和alist[i]相邻的数值 if alist[i] > alist[i+1]: #数值小的会放到前面,数值大的放在后面 alist[i], alist[i+1] = alist[i+1],alist[i] #实际参数——需要传进去的值 li = [28,19,7,2,65,78] #调用函数进行传参 bubble_sort(li) print(li)