天天看点

冒泡排序c++_Python 冒泡排序

冒泡排序c++_Python 冒泡排序

捏脸求关注~

快,关注这个公众号

一起涨姿势

百度百科对冒泡排序的算法原理描述:

1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。

2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

3、针对所有的元素重复以上的步骤,除了最后一个。

4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较

源代码:
冒泡排序c++_Python 冒泡排序

输出每次遍历结果

其中 a[k], a[l] = a[l], a[k] 可以改成 c = a[k], a[k] = a[l], a[l ] =c,c相当于临时变量
另外代码还可以进行优化,将条件 b 放到 for 循环中
for i in range(b, 0, -1)---------含义:b-0是范围,每次循环结束后减1
冒泡排序c++_Python 冒泡排序

调试过程

总结

其实算法不难,先理清思路问题就变得简单了,然后就可以尝试着输出代码了,debug 是个很好的帮手,一步步调试看数据是如何变化的,可以更好的理解程序是怎么实现这段代码的

请思考:如何一行代码搞定(顺序 or 倒序显示)

公布答案(可以复制代码到 IDE 中执行查看结果)

注解:

sorted函数 不会改变列表本身(可理解为先复制列表,再顺序整理),参数 reverse 用于逆序排序

冒泡排序c++_Python 冒泡排序

在右下角戳一个小花花

冒泡排序c++_Python 冒泡排序

你是最好看的