當前位置:成語大全網 - 書法字典 - 什麽是python列表排序?

什麽是python列表排序?

Python列表排序:1,冒泡排序,是壹種簡單的排序算法,反復遍歷要排序的序列,壹次比較兩個元素,如果它們的順序不對就交換;2.插入排序:通過構造壹個有序序列,在有序序列中從後向前掃描無序數據,找到對應的位置並插入。

相關學習推薦:python教程

1,冒泡排序

冒泡排序是壹種簡單的排序算法。它反復遍歷要排序的序列,壹次比較兩個元素,如果它們的順序不對,就切換它們。遍歷序列的工作壹直重復到不需要交換為止,也就是說序列已經排序了。這種算法的名字來源於較小的元素會通過交換慢慢“浮”到序列的頂端。

def bubble_sort(列表):

n = len(列表)

對於範圍內的I(n-1):

對於範圍(0,n - 1 - i)內的j:

如果列表

bubble_sort(列表)

#結果:2。插入排序

插入排序是壹種簡單直觀的排序算法。它的工作原理是構造壹個有序序列,在排序後的序列中從後向前掃描無序數據,找到對應的位置並插入。在插入排序的實現中,從後向前掃描的過程中,需要將排序後的元素逐步向後移動,為最新的元素提供插入空間。

定義插入_排序(列表):

n = len(列表)

對於範圍內的I(1,n):

對於範圍內的j(I,0,-1):

如果列表)

#結果:[0,0,1,2,3,5,5,6,8,9,41] 3。選擇排序。

選擇排序是壹種簡單直觀的排序算法。其工作原理是:首先在無序序列中找到最小(最大)的元素並存儲在排序後的序列的開頭,然後從剩余的無序元素中繼續尋找最小(最大)的元素。放在排序序列的末尾。依此類推,直到所有元素都被排序。

定義選擇_排序(列表):

n = len(列表)

對於範圍內的I(0,n -1):

min_index = i

對於範圍內的j(I+1,n):

if list[min _ index]& gt;列表[j]:

min_index = j

如果我!= min_index:

列表[最小索引],列表[i] =列表[i],列表[最小索引]

打印(列表)

選擇_排序([5,9,6,42,9,4,66,2,3,0,1])

#結果:0,1,2,3,4,5,6,9,9,42,66]摘要:

隨機導入

#隨機生成1-1000之間無序序列的整數數據。

定義生成器():

random_data = []

對於範圍(0,10)內的I:

random _ data . append(random . randint(1,1000))

返回隨機數據

#冒泡排序

def bubble_sort(列表):

#序列長度

n = len(列表)

對於範圍(0,n)中的I:

對於範圍(I,n)中的j:

if list[I]& gt;列表[j]:

列表[i],列表[j] =列表[j],列表[i]

返回列表

#選擇排序

定義選擇_排序(列表):

n = len(列表)

對於範圍內的I(0,n -1):

min_index = i

對於範圍內的j(I+1,n):

if list[min _ index]& gt;列表[j]:

min_index = j

如果我!= min_index:

列表[最小索引],列表[i] =列表[i],列表[最小索引]

返回列表

#插入排序

定義插入_排序(列表):

n = len(列表)

對於範圍內的I(1,n):

對於範圍內的j(I,0,-1):

if list[j]& lt;列表[j - 1]:

列表[j],列表[j - 1] =列表[j - 1],列表[j]

否則:

破裂

返回列表

if __name__ == "__main__ ":

#生成隨機無序數據

list =生成器()

#打印無序數據

打印('隨機生成的無序數據:',列表)

#冒泡排序

sorted_data = bubble_sort( list)

#插入排序

insertion _ data = insertion _ sort(list)

#選擇排序

選擇數據=選擇排序(列表)

#打印排序結果

打印('冒泡排序:',sorted_data)

Print('插入排序:',insertion_data)

打印('選擇排序:',selection_data)

'''

結果:

隨機生成的無序數據:[300517591,209204789417739803393]

冒泡排序:[204,209,300,393,417,517,591,739,789,803]

插入排序:[204,209,300,393,417,517,591,739,789,803]

選擇排序:[204,209,300,393,417,517,591,739,789,803]

想了解更多編程知識,請關註php培訓專欄!