排序算法学习之冒泡排序
Dec 09, 2016 pm 01:47 PM冒泡排序(Bubble Sort,台灣譯為:泡沫排序或氣泡排序)是一種簡單的排序算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端。冒泡排序演算法的運作如下:
1. 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
2. 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
3. 針對所有的元素重複以上的步驟,除了最後一個。
4. 持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
代码:
#!/usr/bin/env python #-*-encoding:utf-8 #BubbleSort def bubble_sort(param): p_len = len(param) for i in range(p_len): for j in range(i+1,p_len)[::-1]: if param[j] < param[j-1]: param[j],param[j-1]=param[j-1],param[j] return param def main(): param = [1,2,3,5,7,6,4] print bubble_sort(param) if __name__=="__main__": main()

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

CLIP-BEVFormer: Selia secara eksplisit struktur BEVFormer untuk meningkatkan prestasi pengesanan ekor panjang

Melaksanakan Algoritma Pembelajaran Mesin dalam C++: Cabaran dan Penyelesaian Biasa

Terokai prinsip asas dan pemilihan algoritma bagi fungsi isihan C++

Amalkan dan fikirkan platform model besar berbilang modal Jiuzhang Yunji DataCanvas

Algoritma pengesanan yang dipertingkatkan: untuk pengesanan sasaran dalam imej penderiaan jauh optik resolusi tinggi

Bolehkah kecerdasan buatan meramalkan jenayah? Terokai keupayaan CrimeGPT

Analisis algoritma PHP: kaedah yang cekap untuk mencari nombor yang hilang dalam tatasusunan

Aplikasi algoritma dalam pembinaan 58 platform potret
