一、冒泡排序
我們?cè)趯W(xué)校都學(xué)習(xí)過排序算法刹淌,這些排序算法中就有一個(gè)我們常提到的冒泡排序(Bubble Sort)。
冒泡排序讥耗,顧名思義有勾,就是像水中的小魚吐泡泡一樣,一邊變大古程,一邊向上浮動(dòng)蔼卡,它重復(fù)地走查需要進(jìn)行排序的數(shù)列,每次比較兩個(gè)相鄰的元素挣磨,如果他們的順序是錯(cuò)誤的雇逞,就把他們的順序交換過來。
我們看一下網(wǎng)上的這個(gè)示意圖:冒泡排序示意圖
對(duì)于 N 個(gè)元素的列表茁裙,如果我們每次只找出一個(gè)最大(刑猎摇)值,那么我們按理來說需要進(jìn)行(N-1)次比較即可完成對(duì)該列表的排序晤锥;
二掉蔬、編碼實(shí)現(xiàn)
不多說,直接上編碼=矾瘾。=剛開始寫女轿,寫得不好多包涵,哈哈哈哈
# -*- 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("排序前順序?yàn)?" , arr1)
new_arr = bubble_sort(arr1)
print("排序后順序?yàn)?" , new_arr)
運(yùn)行效果如下:
運(yùn)行結(jié)果
【參考鏈接】
https://blog.csdn.net/u014597198/article/details/91395700
https://www.runoob.com/python3/python3-examples.html