一、冒泡排序
我们在学校都学习过排序算法,这些排序算法中就有一个我们常提到的冒泡排序(Bubble Sort)。
冒泡排序,顾名思义,就是像水中的小鱼吐泡泡一样,一边变大,一边向上浮动,它重复地走查需要进行排序的数列,每次比较两个相邻的元素,如果他们的顺序是错误的,就把他们的顺序交换过来。
我们看一下网上的这个示意图:
对于 N 个元素的列表,如果我们每次只找出一个最大(小)值,那么我们按理来说需要进行(N-1)次比较即可完成对该列表的排序;
二、编码实现
不多说,直接上编码=。=刚开始写,写得不好多包涵,哈哈哈哈
# -*- coding: utf-8 -*-
# @Author : Sai
# @Email : 932934045@qq.com
# @File : my_sort.py
# @Time : 2020/8/11 14:54
def bubble_sort(arr):
'''
冒泡排序
:param arr: 待排序列表
:return: 排序后的列表
'''
for i in range(1, len(arr)):
for j in range(0, len(arr) - i):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
# print(arr)
return arr
if __name__ == '__main__':
arr1 = [3, 4, 5, 9, 8, 6, 0, 10, 2, 7, 1]
print("排序前顺序为:" , arr1)
new_arr = bubble_sort(arr1)
print("排序后顺序为:" , new_arr)
运行效果如下:
【参考链接】
https://blog.csdn.net/u014597198/article/details/91395700
https://www.runoob.com/python3/python3-examples.html