冒泡python實現

2021-09-13 19:27:02 字數 1022 閱讀 8828

#!/usr/bin/env python

# -*- coding:utf8 -*-

def bubble_sort(alist):

# 結算列表的長度

n = len(alist)

# 外層迴圈控制從頭走到尾的次數

for j in range(n - 1):

# 用乙個count記錄一共交換的次數,可以排除已經是排好的序列

count = 0

# 內層迴圈控制走一次的過程

for i in range(0, n - 1 - j):

# 如果前乙個元素大於後乙個元素,則交換兩個元素(公升序)

# 氣泡排序要排序n個數,由於每遍歷一趟只排好乙個數字,

# 則需要遍歷n - 1趟,才能將n個數字排好;

# 所以最外層迴圈是要迴圈n - 1次

# # 每次排序乙個數字的時候,假設它前面已經有i個數字已經排好了,由於將n個數字

# 排好需要n - 1次, 此時已經排好i個數字了, 排下乙個數字需要遍歷n - 1 - i次

# 排第乙個數, n - 1次

# 排第2個數, n - 2次

# ...

# 排第i個數, n - i次

if alist[i] > alist[i + 1]:

# 交換元素

alist[i], alist[i + 1] = alist[i + 1], alist[i]

# 記錄交換的次數

count += 1

# count == 0 代表沒有交換,序列已經有序

if 0 == count:

break

if __name__ == '__main__':

list1 = [54, 26, 93, 77, 44, 31, 44, 55, 20]

print("原列表為:%s" % list1)

bubble_sort(list1)

print("新列表為:%s" % list1)

氣泡排序(python實現)

coding utf 8 created on tue jul 4 11 37 19 2017 data list cnt num all 0 def data in func data list,cnt num all while true judge continue input 請選擇是輸入資...

氣泡排序(Python實現)

氣泡排序 bubble sort 是一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的元素列,一次比較兩個相鄰的元素,如果他們的順序 如從大到小 首字母從a到z 錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素已經排序完成。這個演算法的名字由來是因為...

Python實現氣泡排序

氣泡排序 bubble sort 是最容易理解的排序演算法之一,但是執行效率有點低。冒泡過程 對待排序部分 假設有m個元素 從頭開始進行兩兩比較,如果第乙個比第二個大 公升序 就交換他們兩個。這樣本輪排序結束後就可以保證值最大的元素在最右邊,那麼下次只需要對前面 m 1 個數進行冒泡。完整的氣泡排序...