基於python的氣泡排序法

2021-09-25 04:44:59 字數 716 閱讀 6258

這段氣泡排序的演算法具有選擇性的反向排序功能,當reverse=true時,輸出為反向排序的list。

雖然演算法比較簡單,但需要注意的是這段**的時間複雜度為 o(n

2n^2

n2)。

def

bubble_sort

(nums:

list

, reverse =

false):

for i in

range

(len

(nums)):

for j in

range

(len

(nums)

- i -1)

:if nums[j]

> nums[j +1]

: nums[j]

, nums[j +1]

= nums[j +1]

, nums[j]

if reverse:

nums.reverse(

)return numsl=[

2,6,

3,5,

4,8,

1,0,

15,13,

11,12]

# list for test

l_sort = bubble_sort(l,

true

)print

(l_sort)

python 冒泡法 快速排序法

import random 匯入隨機數 def bubble sort l 定義函式 for i in range len l 1 因為如果有n個數,如果n 1個都已經排列好了,所以就已經排列好了,所以要 1,也可以不用 1,但是會造成資源的浪費 for j in range len l i 1 因...

Python程式設計排序 氣泡排序法

氣泡排序法定義 它重複地比較要排序的所有元素列,如果順序 如從大到小 首字母從z到a 錯誤就把他們交換過來。比較元素的工作是重複地進行直到沒有相鄰元素需要交換,排序完成。氣泡排序1每次找出最大值 def bubble sort biggest a for i in range 0 len a 1 p...

氣泡排序 氣泡排序法

冒泡法是一種簡單的排序方法,它的實現非常簡單。首先對n個專案進行掃瞄,比較相領兩個專案的大小,若發現違背大小次序則進行互換,由此可以使n個專案中的最大者換到最後。然後對剩下的未排序好的專案再進行掃瞄,使它們的最大者換到表的最後。以此類推,直到將表全部排序好為止。這種排序方法,每遍掃瞄以後,都縮短了待...