python排序的方法例項總結

2022-09-25 19:24:14 字數 1164 閱讀 7802

1、氣泡排序

它反覆訪問要排序的元素列,並依次比較兩個相鄰的元素。如果順序(如從大到小)錯了,就交換它們。訪問元素的工作是反覆進行,直到沒有相鄰元素需要交換,也就是說元素列已經排序完成。

2、選擇排序

首次從待排序的資料元素中選擇最小(或最大)的元素,儲存在序列的開始位置,然後從剩餘的未排序元素中找到最小(大)元素,然後放在已排序的末尾。直到所有元素www.cppcns.com都被排序。

3、插入排序

對於未排序的資料,通過構建有序的序列,在已排序的序列中從後向前掃瞄,找到相應的位置並插入。插入式排序在實現上,在從後向前掃瞄的過程中,需要反覆將已排序的元素逐步向後移動,為最新的元素提供插入空間。

4、快速排序

將要排序的資料通過一次排序分成兩個獨立的部分,其中乙個部分的所有資料都小於另乙個部分的所有資料,然後按照這種方法對這兩個部分的資料進行快速排序,整個排序過程可以遞迴進行,從而使整個資料成為有序的序列。

5、希爾排序(插入排序改進版)

首先,將要排序的一組ctycgnba數量按某個增量d分為幾個組,每組中記錄的下標相差d,對每組中的所有元素進行排序,然後用較小的增量對其進行分組,然後對每組進行排序。當增量減少到1時,整個要排序的數量被分成一組,排序完成。

6、歸併排序

首先遞迴分解組,然後合併組。基本思路是比較兩個陣列的面的數字,誰小就先取誰,取後相應的指標向後移動乙個。然後再比較,直到乙個陣列是空的,最後複製另乙個陣列的剩餘部分。

例項擴充套件:

>>> data1=[4,2,6,432,78,43,22,896,42,677,12]

>>> data1.sort()

>>> data1      程式設計客棧; #原來的順序被替換

[2, 4, 6, 12, 22, 42, 43, 78, 432, 677, 896]

>>> data1=[4,2,6,432,78,43,22,896,42,677,12]

>>> data2=sorted(dactycgnbata1)

>>> data1    

[4, 2, 6, 432, 78, 43, 22, 896, 42, 677, 12]    #原順序保留

>>> data2   

程式設計客棧[2, 4, 6, 12, 22, 42, 43, 78, 432, 677, 896]    #對副本排序

>>>

Python對列表排序的方法例項分析

1 sort 函式 sort 程式設計客棧 函式使www.cppcns.com用固定的排序演算法對列表排序。sort 函式對列表排序時改變了原來的列表,從而讓其中的元素能按一定的順序排列,而不是簡單的返回乙個已排序的列表副本。注意sort 函式改變原來的列表,函式返回值是空值即none。因此,如果需...

python字典多條件排序方法例項

專案編寫過程中,總能遇見對字典進行排序什麼的,如果要實現多條件排序只需要下面幾行 實現。充分體現了python的好處了。複製 如下 teamitems www.cppcns.com p程式設計客棧rint sorte key lambda x x p x 程式設計客棧 gd x gs x ga re...

排序方法的總結

img img 排序方法的總結 今天一共學習了四種排序方法,氣泡排序,選擇排序,插入排序和希爾排序。首先是最簡單的氣泡排序,如下 public static int maopao int x return x 假設有陣列3,4,5,1,2 則第一輪排序結果1,4,5,3,2 第二輪排序結果1,2,5...