日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

冒泡排序python实现

發(fā)布時(shí)間:2025/3/15 python 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 冒泡排序python实现 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

冒泡排序python實(shí)現(xiàn)

去年寫過一篇冒泡排序python實(shí)現(xiàn),外層多了一層循環(huán),這里更正過來~

算法思想

冒泡排序(以從小到大排序?yàn)槔?#xff09;的思想在于,不斷地將當(dāng)前元素與后一個(gè)元素進(jìn)行比較,如果當(dāng)前元素較小,則調(diào)換當(dāng)前元素與后一個(gè)元素的位置,否則保持不變;假設(shè)需要排序的元素一共有nnn個(gè),在iii輪排序過程中,從第一個(gè)元素開始,跟后續(xù)的(n?i)(n-i)(n?i)元素進(jìn)行上述比較(注意:上一輪排序得到的結(jié)果不需要拿到下一輪作比較)。最終的排序結(jié)果中,開頭的元素是最小值,結(jié)尾的元素是最大值。
這里是冒泡排序的動(dòng)畫演示。

代碼示例

list_test = [12,-57,23,85,56,-123,-456,250]class bubsort():def __init__(self):self.list_test = list_test# 用while循環(huán)實(shí)現(xiàn)def bubble_v1(self):n = len(self.list_test)# 進(jìn)行(n-1)趟排序while n>1:# 每趟排序從第一個(gè)元素開始,逐個(gè)與后面的元素比較i = 1while i<n:# 如果后面的元素比前面的元素小,交換兩者位置if self.list_test[i]<self.list_test[i-1]:self.list_test[i],self.list_test[i-1] = self.list_test[i-1], self.list_test[i]i+=1n-=1return self.list_test# 用for循環(huán)實(shí)現(xiàn)def bubble_v2(self):n = len(self.list_test)# 比較(n-1)輪for i in range(n-1):# 第i輪比較(n-i)次for j in range(n-i-1):# 如果后面的元素比前面的元素小,交換兩者位置if self.list_test[i]>self.list_test[i+1]:self.list_test[i],self.list_test[i+1] = self.list_test[i+1], self.list_test[i]return self.list_testif __name__ =='__main__':getresult = bubsort()print(getresult.bubble_v1())print(getresult.bubble_v2())

總結(jié)

以上是生活随笔為你收集整理的冒泡排序python实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。