视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
排序算法学习之冒泡排序
2020-11-27 14:27:23 责编:小采
文档


冒泡排序(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()

下载本文
显示全文
专题