當前位置:成語大全網 - 書法字典 - 如何寫python冒泡排序,使兩個最大值不相等?

如何寫python冒泡排序,使兩個最大值不相等?

冒泡排序的時間復雜度為O (n 2)。

冒泡排序的思想:壹次比較兩個相鄰的元素,如果順序不對就交換。

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

第壹次旅行:

第壹次比較:35,12,99,18,76

第二次比較:35,99,12,18,76。

第三個對比:35,99,18,12,76。

第四個對比:35,99,18,76,12。

第壹次比較後,五個數中最小的已經在後面了,然後只比較前四個數,以此類推。

第二次旅行

99, 35, 76, 18, 12

第三次旅行

99, 76, 35, 18, 12

第四次旅行

99, 76, 35, 18, 12

比較完成

冒泡排序原理:每次只能重置壹個數字。如果有n個數字要排序,那麽只需要復位n-1個數字,也就是說要進行n-1遍(復位的數字不需要比較)。

#!/usr/bin/env python # coding:utf-8 def bubble sort(nums):

對於I in range (len (nums)-1): #這個循環負責設置執行冒泡排序的次數。

對於範圍內的j(len(nums)-I-1):?# j是列表下標。

if nums[j]& gt;nums[j+1]:

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

nums = [5,2,45,6,8,2,1]打印氣泡排序(nums)

缺點:氣泡分揀解決了桶式分揀浪費空間的問題,但是氣泡分揀效率特別低。