氣泡排序法、冒泡排序法(Bubble sort)為把相鄰的數字兩兩相比較、交換,
最終得到排序結果的方法。
若有n個數字,則需進行n-1個回合數。
以下為Python的氣泡排序法(由小到大排序)程式碼
第5~7行可以替換成 list[j], list[j + 1] = list[j + 1], list[j]
在Python兩數值交換可以不使用另外一個變數(像是常用的temp),
而是以 x,y = y,x 表示即可。
以 mylist = [20, 9, 100, 0, 55, 3 ,11] 為例,
呼叫 bubble_sort(mylist) 印出結果如下:
可以發現回合4、回合5、回合6所印出之結果都一樣,
也就表示從回合4之後,
雖然for迴圈仍執行,但都沒有進入交換的條件中(即都不符合if的陳述條件)
因此,改寫此氣泡排序,
加入 flag 邏輯變數(第3行、第10行),紀錄是否有進入if條件中進行交換,
若沒有,表示排序已經完成,可以結束,python程式碼如下:
呼叫 bubble_sort_flag(mylist) 印出結果如下:
加入flag之後,只需進行4回合即可完成排序。
可以參考wiki,https://zh.wikipedia.org/wiki/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F
Python Program to Swap Variables Without Temporary Variable,http://www.programiz.com/python-programming/examples/swap-variables
文章標籤
全站熱搜

How to install Django python framework in windows 10 We know Django is the most popular python framework ,it only work with python installed system,before starting Django we should install python.So lets see how to install python in windows 10. Fortunately installing python is so easy https://www.tutorialshore.com/install-django-python-framework-windows-10/