冒泡排序顾名思义就是相邻的两个元素进行大小的比较,如果左边的元素比右面的元素大(或小),则交换两个元素的位置,以此类推。这样就可以把所有元素中最大(或最小)的元素放到列表的尾部。由于整个过程非常像气泡浮上来,所有叫他冒泡排序。
时间复杂度: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)


