冒泡排序(Bubble Sort)算法是一種計算機科學領域的較簡單的排序算法。 它重複地走訪過要排序的數列,一次比較兩個元素,若是他們的順序錯誤就把他們交換過來。走訪數列的工做是重複地進行直到沒有再須要交換,也就是說該數列已經排序完成。python
下面要用python語言來實現冒泡排序算法,完整的代碼以下:算法
def bubble(num_list): for i in range(len(num_list)): for j in range(i): if num_list[j] > num_list[i]: num_list[j], num_list[i] = num_list[i], num_list[j] return num_list a_list = [3, 2, 9, 1, 5, 7, 2, 6] print(a_list) print(bubble(a_list))
首先,第1行定義了冒泡排序函數,而後使用第一層for循環對列表全部元素進行處理。接着第二層嵌套的循環使用上一層循環中取到的當前處理數組元素的下標,再進行在最裏層循環中不斷的對數組中從第一個數開始和最後一個數(外層循環處理到數組元素的下標對應的數)作對比,若是這個數組中前面有數大於最後的數(外層循環處理到數組元素的下標對應的數),那麼就將這兩個數的位置相互調換。函數的最後返回上面循環處理過的數組。數組
參考:函數
http://baike.baidu.com/item/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8Fcode