python 冒泡排序_Python中的冒泡排序
# 冒泡排序:排序是計(jì)算機(jī)內(nèi)經(jīng)常進(jìn)行的一種操作,其目的是將一組"無(wú)序"的記錄序列調(diào)整為"有序"的記錄序列
# 冒泡排序是排序算法中最為基礎(chǔ)和經(jīng)典的一種算法
# 它重復(fù)的走訪要排序的元序列,一次比較兩個(gè)相鄰元素,如果他們的順序錯(cuò)誤就把他們交換過(guò)來(lái),每次得到一個(gè)最值(通常為最大值)
# 冒泡排序先比較第一個(gè)數(shù)和第二個(gè)數(shù)的大小,由于是從小到大排列,所以如果第一個(gè)數(shù)大于第二個(gè)數(shù),則將這兩個(gè)數(shù)互換位置,將大的數(shù)放到小的后面,反之則不變;然后進(jìn)行第二個(gè)數(shù)和第三個(gè)數(shù)比較,同上;直到將所有數(shù)比較完,每輪都可以得到一個(gè)最大值,排序完成
# 兩個(gè)數(shù)值交換
# 引入變量
a = 2
b = 5
# 第三方變量交換a,b的值
temp = a
a = b
b = temp
print(a,b)
# 不引入三方變量
# python特用
a,b = b,a
print(a,b)
# 運(yùn)算交換
a = a+b
b = a-b
a = a-b
print(a,b)
# 異或,二進(jìn)制操作
a = a^b
b = a^b
a = a^b
print(a,b)
# 冒泡排序
l = [1,5,3,7,9,4,8]
# 不斷循環(huán),每次輸出一個(gè)最大值
for i in range(len(l)):
# print(l)
# 比較相鄰的兩個(gè)元素,大的放右邊
for j in range(len(l)-1-i):
if l[j] > l[j+1]:
l[j],l[j+1] = l[j+1],l[j]
print(l)
# python中的內(nèi)置排序,實(shí)現(xiàn)快速排序
# list.sort()
# sorted()
# 冒泡排序與list.sort()修改原數(shù)據(jù),便為有序序列
# 該方法沒(méi)有返回值,但是會(huì)對(duì)列表的對(duì)象進(jìn)行排序,即對(duì)原列表進(jìn)行排序
# l變量見(jiàn)上方冒泡排序
l.sort()
print(l)
# sorted()排序是產(chǎn)生一個(gè)新的有序的序列
lll = sorted(l)
print(lll)
總結(jié)
以上是生活随笔為你收集整理的python 冒泡排序_Python中的冒泡排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ppt拖动就复制_学会这3个PPT技巧和
- 下一篇: 二级list列表python_Pytho