這段氣泡排序的演算法具有選擇性的反向排序功能,當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個專案中的最大者換到最後。然後對剩下的未排序好的專案再進行掃瞄,使它們的最大者換到表的最後。以此類推,直到將表全部排序好為止。這種排序方法,每遍掃瞄以後,都縮短了待...