日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python基础:冒泡和选择排序算法实现

發布時間:2025/3/21 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python基础:冒泡和选择排序算法实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
冒泡排序和選擇排序 首先引用一下百度百科對于冒泡算法的定義: 冒泡排序算法的原理如下:
  • 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
  • 對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數。
  • 針對所有的元素重復以上的步驟,除了最后一個。
  • 持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。
  • ?

    在很多計算機語言中冒泡算法都是一種經典的排序算法,在python中也可以輕松實現,并且代碼更短,下面看代碼:

    #冒泡排序 def bubble_sort(lt):for i in range(len(lt)-1): #外部循環,用來表示冒泡進行的次數for j in range(len(lt)-i-1):#內部循環,如果從下標為0的元素開始匹配,j下標一直到倒數第二個元素if lt[j] > lt[j+1]:lt[j], lt[j+1] = lt[j+1], lt[j]#上面兩行代碼-如果lt列表中下標為j的值大于下標為j+1的值,#就調換位置,相當于lt[j] = lt[j+1], lt[j+1] = lt[j]print(lt) #打印列表 lt = [9, 8, 6, 4, 5, 1, 3, 10] #首先建一個列表 bubble_sort(lt) #調用函數輸出經過冒泡排序后的列表

    選擇排序:對比數組中前一個元素跟后一個元素的大小,如果后面的元素比前面的元素小則用一個變量k來記住他的位置,接著第二次比較,前面“后一個元素”現變成了“前一個元素”,繼續跟他的“后一個元素”進行比較如果后面的元素比他要小則用變量k記住它在數組中的位置(下標),等到循環結束的時候,我們應該找到了最小的那個數的下標了,然后進行判斷,如果這個元素的下標不是第一個元素的下標,就讓第一個元素跟他交換一下值,這樣就找到整個數組中最小的數了。然后找到數組中第二小的數,讓他跟數組中第二個元素交換一下值,以此類推。

    #選擇排序 list1 = [12, 3, 6, 2, 5, 7, 8, 9] #首先定義一個列表 def quick_sort(list1):for i in range(len(list1)-1): #默認從0下標開始x = i #建立一個信號量for j in range(i+1, len(list1)):#從列表第i+1個元素開始if list1[x] > list1[j]:#一旦匹配到小于下標為i的元素x = jlist1[i], list1[x] = list1[x], list1[i]#將元素賦值給信號量x,依次循環,遇到更小的,繼續交換元素print(list1) quick_sort(list1)

    ?

    轉載于:https://www.cnblogs.com/ilovezzh/p/9445808.html

    總結

    以上是生活随笔為你收集整理的python基础:冒泡和选择排序算法实现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。