python冒泡排序簡單實(shí)現(xiàn)方法
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括橫峰網(wǎng)站建設(shè)、橫峰網(wǎng)站制作、橫峰網(wǎng)頁制作以及橫峰網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,橫峰網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到橫峰省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
這篇文章主要介紹了python冒泡排序簡單實(shí)現(xiàn)方法,實(shí)例分析了Python冒泡排序的簡單實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值。
分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
#!/usr/bin/pythonimportrandomdefbubble_sort(data): length=len(data) foriinrange(len(data)-1): forjinrange(len(data)-1): if(data[j] data[j+1]): tmp=data[j] data[j]=data[j+1] data[j+1]=tmpr=random.Random()data=[]forninrange(0,20): data.append(r.randint(1,300))printdata,len(data)bubble_sort(data)printdata
運(yùn)行結(jié)果如下:
[115, 14, 246, 125, 94, 78, 275, 163, 64, 72, 245, 1, 97, 53, 86, 270, 137, 69, 74, 182] 20
[275, 270, 246, 245, 182, 163, 137, 125, 115, 97, 94, 86, 78, 74, 72, 69, 64, 53, 14, 1]
希望本文所述對大家的Python程序設(shè)計(jì)有所幫助。
new2=Xx
Xx代表的是數(shù)組的地址, new2=Xx new2也是數(shù)組的地址
對new2地址中對象的改變,也是對Xx代表的同一對象的改變
將 new2=Xx ,改為
new2=Xx[:]
復(fù)制全部數(shù)組元素到 new2中就不會改變Xx了
def?bubbleSort(myList):
#?首先獲取list的總長度,為之后的循環(huán)比較作準(zhǔn)備
length?=?len(myList)
#?一共進(jìn)行幾輪列表比較,一共是(length-1)輪
for?i?in?range(0,?length?-?1):
#?每一輪的比較,注意range的變化,這里需要進(jìn)行l(wèi)ength-1-長的比較,注意-i的意義(可以減少比較已經(jīng)排好序的元素)
for?j?in?range(0,?length?-?1?-?i):
#?交換
if?myList[j]??myList[j?+?1]:
tmp?=?myList[j]
myList[j]?=?myList[j?+?1]
myList[j?+?1]?=?tmp
#?打印每一輪交換后的列表
for?item?in?myList:
print(item)
print("=============================")
print("Bubble?Sort:?")
myList?=?[2,0,1,8,0,3,0,2]
bubbleSort(myList)
def bubbleSort(arr):
n = len(arr)
# 遍歷所有數(shù)組元素
for i in range(n):
# Last i elements are already in place
for j in range(0, n-i-1):
if arr[j] arr[j+1] :
arr[j], arr[j+1] = arr[j+1], arr[j]
arr = [64, 34, 25, 12, 22, 11, 90]
bubbleSort(arr)
print ("排序后的數(shù)組:")
for i in range(len(arr)):
print ("%d" %arr[i]),