冒泡排序(Bubble Sort)
优点:简单,最基本的排序
但是Python的列表已经有sort()排序算法,已经不再需要冒泡排序,但是我们还是用python来练习一下冒泡排序。
目的:将一个无序列表list,按由小到大排序。
步骤:
- 将第一个与第二个数对比,如果第一个比第二个大就交换他们。
- 按步骤1将第二个与第三个对比,依次执行到最后一个,得到这个列表最大的一个数,并将他放到最后。
- 此时再从第一个元素开始按步骤1对比相邻的元素,一直执行到倒数第二个元素,把列表第二大的元素放在列表的倒数第二个位置。
- 将步骤3从最后一个元素一直执行到第二个元素.
代码实现:
# @Time :2020/10/12 19:32
# @Author :RocZhang(dlage)
def Bubbling(list):
temp = 0
for i in range(1, len(list)):
for j in range(0, len(list) - i):
if list[j] > list[j + 1]:
temp = list[j]
list[j] = list[j + 1]
list[j + 1] = temp
return list
调用函数:
print(Bubbling([6, 3, 7, 9, 10, 45, 89, 25, 75, 40, 90, 51, 36]))
结果:
[3, 6, 7, 9, 10, 25, 36, 40, 45, 51, 75, 89, 90]