直接用列表自帶函式排序,.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 是一種簡單的排序...