您好,登錄后才能下訂單哦!
python中有哪些排序的方法?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
python的五大特點:1.簡單易學,開發程序時,專注的是解決問題,而不是搞明白語言本身。2.面向對象,與其他主要的語言如C++和Java相比, Python以一種非常強大又簡單的方式實現面向對象編程。3.可移植性,Python程序無需修改就可以在各種平臺上運行。4.解釋性,Python語言寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。
1、冒泡排序
它反復訪問要排序的元素列,并依次比較兩個相鄰的元素。如果順序(如從大到小)錯了,就交換它們。訪問元素的工作是反復進行,直到沒有相鄰元素需要交換,也就是說元素列已經排序完成。
2、選擇排序
首次從待排序的數據元素中選擇最小(或最大)的元素,存儲在序列的開始位置,然后從剩余的未排序元素中找到最小(大)元素,然后放在已排序的末尾。直到所有元素都被排序。
3、插入排序
對于未排序的數據,通過構建有序的序列,在已排序的序列中從后向前掃描,找到相應的位置并插入。插入式排序在實現上,在從后向前掃描的過程中,需要反復將已排序的元素逐步向后移動,為最新的元素提供插入空間。
4、快速排序
將要排序的數據通過一次排序分成兩個獨立的部分,其中一個部分的所有數據都小于另一個部分的所有數據,然后按照這種方法對這兩個部分的數據進行快速排序,整個排序過程可以遞歸進行,從而使整個數據成為有序的序列。
5、希爾排序(插入排序改進版)
首先,將要排序的一組數量按某個增量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(data1) >>> data1 [4, 2, 6, 432, 78, 43, 22, 896, 42, 677, 12] #原順序保留 >>> data2 [2, 4, 6, 12, 22, 42, 43, 78, 432, 677, 896] #對副本排序 >>>
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。