如何用Python对列表进行冒泡排序
冒泡排序还是比较简单、简洁的,很多人都用的到,只是没有具体说是啥排序,大多数情况只要排序好了就行,对于我们学习编程的就要了解下,不能你设计的程序,人家想排序下,都搞不了,肯定不喜欢的,尽管简单,也要去做。
一个列表可能没有排序,我们怎么去排序呢?
- 首先我们去遍历列表,比较相邻元素,不停重复对比比邻的元素
- 如果顺序错误则交换,想升序排列就,小的在前,大的在后,直到没有需要交换的元素。
- 测试截图如下
代码如下
def mp_bubble(list_test):#
n = len(list_test)#后面通过实际列表来循环
for i in range(n):
change = False
for j in range(0, n-i-1):#len(list_test)减掉已经比较过的
if list_test[j] > list_test[j+1]:#通过比较大小,然后交换位置
list_test[j], list_test[j+1] = list_test[j+1], list_test[j] # 交换位置
change = True
if not change: # 终止
break
return list_test
print(mp_bubble([5, 3, 8, 6])) # 输出结果:5和3比较,3小于5,交换位置,然后用5和8比较(j+1顺序下去)
我们增加列表长度,再进行测试测试:
运行还是没有问题,说明代码可行。
在实际工作中,我们很多情况下要对数据进行排序,比如学生成绩;比如商品销售情况的分析;比如客户销售情况等等排序好后,让人一目了然,便于分析。当然你可以根据需要,想怎么排序都可以,只要直观、有效。