Python對列表排序 氣泡排序

2021-10-10 05:52:56 字數 2301 閱讀 5091

直接用列表自帶函式排序,.sort()方法預設公升序,將引數reverse改為true,改為降序

list=[

7,4,

3,67,

34,1,

8]list

.sort(

)print

(list)[

1,3,

4,7,

8,34,

67]list

.sort(reverse =

true

)print

(list)[

67,34,

8,7,

4,3,

1]

list=[

7,4,

3,67,

34,1,

8]a=[

]for i in

range

(len

(list))

:min

(list))

list

.remove(

min(

list))

print

(a)[1,

3,4,

7,8,

34,67]

氣泡排序:從小到大,比較相鄰的元素,如果前乙個比後乙個大,交換之。

a是外層,輪,b是內層,次

len(list) = 7

第一輪:

a = 0

b in range(6),迴圈執行6次

第一次 4,7比較,比較後[4,7, 3, 67, 34, 1, 8]

第二次 7,3比較,比較後[4,3, 7, 67, 34, 1, 8]

……第六次 8,67比較,比較後[4, 3, 7, 34, 1, 8, 67]

第二輪:

a = 1

b in range(5),迴圈執行5次(因為在第一輪已經將最大值67判斷出來,不用再和67做比較)

第一次 4,3比較,比較後[3, 4, 7, 34, 1, 8, 67]

第二次 4,7比較,比較後[3, 4, 7, 34, 1, 8, 67]

第五次34,67比較,比較後[3, 4, 7, 1, 8, 34, 67]

第三輪:

a = 2

b in range(4),迴圈執行4次,34,67的順序已經比較出來

第一次3,4比較,比較後[3, 4, 7, 1, 8, 34, 67]

第二次4,7比較,比較後[3, 4, 7, 1, 8, 34, 67]

第三次7,1比較,比較後[3, 4, 1, 7, 8, 34, 67]

第四次7,8比較,比較後[3, 4, 1, 7, 8, 34, 67]

第四輪:

a = 3

b in range(3),迴圈執行3次,8,34,67的順序已經比較出來

第一次3,4比較,比較後[3, 4, 1, 7, 8, 34, 67]

第二次4,1比較,比較後[3, 1, 4, 7, 8, 34, 67]

第三次4,7比較,比較後[3, 1, 4, 7, 8, 34, 67]

第五輪:

a = 4

b in range(2),迴圈執行兩輪7,8,34,67的順序已經比較出來

第一次3,1比較,比較後[1, 3, 4, 7, 8, 34, 67]

第二次3,4比較,比較後[1, 3, 4, 7, 8, 34, 67]

第六輪a = 5

b in range(1),迴圈執行一輪,4, 7, 8, 34, 67的順序已經比較出來

第一次,1,3比較,比較後[1, 3, 4, 7, 8, 34, 67]

此時,輪和次都迴圈完畢,排序完成

從大到小的順序,把 if list[b] > list[b+1]改為if list[b] < list[b+1]即可

list=[

7,4,

3,67,

34,1,

8]for a in

range

(len

(list))

:for b in

range

(len

(list

)-a-1)

:iflist

[b]>

list

[b+1]:

list

[b+1],

list

[b]=

list

[b],

list

[b+1

]print

(list

)

python資料列表氣泡排序 演算法

氣泡排序,確定位置找數字 alist def bubble sort array cnt len array if cnt 1 return array for i in range 0,cnt 確定位置,從起始位置開始,根據每個位置找到確定的數字 for j in range cnt 1,i,1 ...

Python列表排序 冒泡 簡單應用

1.乙個無序的列表,不使用內建函式或方法,將其進行從小到大的排序 冒泡法 從第乙個元素開始,比較相鄰元素的大小,若大小順序有誤,則對調後進行下乙個元素的比較。如此掃瞄過一次之後就可確保最後乙個元素位於正確的順序。接著再逐步進行第二次掃瞄,直到完成所有元素的排序關係為止。如,3個數,需要比較2輪。第一...

python 列表排序 python列表排序有哪些

python列表排序 1 氣泡排序,是一種簡單的排序演算法,它重複地遍歷要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來 2 插入排序,通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。1 氣泡排序 氣泡排序 bubble sort 是一種簡單的排序...