Python演算法 冒泡演算法

2021-08-20 21:28:52 字數 693 閱讀 8450

氣泡排序的思想: 每次比較兩個相鄰的元素, 如果他們的順序錯誤就把他們交換位置

比如有五個數: 12, 35, 99, 18, 76, 從大到小排序, 對相鄰的兩位進行比較

經過第一趟比較後, 五個數中最小的數已經在最後面了, 接下來只比較前四個數, 依次類推

99, 35, 76, 18, 12

99, 76, 35, 18, 12

99, 76, 35, 18, 12

比較完成

氣泡排序原理: 每一趟只能將乙個數歸位, 如果有n個數進行排序,只需將n-1個數歸位, 也就是說要進行n-1趟操作(已經歸位的數不用再比較)

# coding:utf-8

def bubblesort(nums):

for i in range(len(nums)-1): # 這個迴圈負責設定氣泡排序進行的次數

for j in range(len(nums)-i-1): # j為列表下標

if nums[j] > nums[j+1]:

nums[j], nums[j+1] = nums[j+1], nums[j]

return nums

nums = [5,2,45,6,8,2,1]

print bubblesort(nums)

python 冒泡演算法

什麼是冒泡演算法?像魚吐泡泡一樣,每次都是向上冒出乙個水泡 如何邏輯整理?先拿第乙個值和剩下的值,一一比較,必能找到最大的或者最小的 比較過程中,第乙個值小於剩下的某個值,交換位置,依次比較到最後,最大的乙個肯定在最前面,找最大 比較過程中,第乙個值大於剩下的某個值,交換位置,依次比較到最後,最小的...

Python氣泡排序演算法

coding utf 8 氣泡排序演算法 import random fenshu int input 請輸入考試滿分 renshu int input 請輸入考試人數 sortsre input 倒敘 正序 請選擇 y n while sortsre y and sortsre n print 您...

python實現冒泡演算法

演算法思想 每次比較兩個相鄰的元素,如果他們的順序錯誤就把他們交換位置 比如有五個數 12,35,99,18,76,從大到小排序,對相鄰的兩位進行比較 第一趟 第一次比較 35,12,99,18,76 第二次比較 35,99,12,18,76 第三次比較 35,99,18,12,76 第四次比較 3...