排序

一,選擇排序法

從第一個(gè)位置開(kāi)始比較,找出最小的,和第一個(gè)位置互換,開(kāi)始下一輪。

"""

lt = [3, 5, 2, 1, 8, 4,0,11]

#求出lt的長(zhǎng)度

n = len(lt)

#外層循環(huán)確定比較的輪數(shù),x是下標(biāo),lt[x]在外層循環(huán)中代表lt中所有元素

for xin range(n-1):# 包含一個(gè)0? 實(shí)際上是N次

#內(nèi)層循環(huán)開(kāi)始比較

? for yin range(x+1,n):

#lt[x]在for y 循環(huán)中是代表特定的元素,lt [y]代表任意一個(gè)lt任意一個(gè)元素。

? ? ? if lt[x]>lt[y]:

#讓lt[x]和lt列表中每一個(gè)元素比較,找出小的

? ? ? ? lt[x],lt[y]=lt[y],lt[x]

print(lt)

"""

二,冒泡排序法排序

從左到右,數(shù)組中相鄰的兩個(gè)元素進(jìn)行比較,將較大的放到后面。

"""

lt = [3, 5, 2, 1, 8, 4]

n= len(lt)

for xin range(n-1):

for yin range(n-1-x):

if lt[y]>lt[y+1]:

lt[y],lt[y+1]=lt[y+1],lt[y]

print(lt)

"""

選擇排序法和冒泡排序法的區(qū)別:

冒泡排序是比較相鄰位置的兩個(gè)數(shù),而選擇排序是按順序比較,找最大值或者最小值;

冒泡排序每一輪比較后,位置不對(duì)都需要換位置,選擇排序每一輪比較都只需要換一次位置;

冒泡排序是通過(guò)數(shù)去找位置,選擇排序是給定位置去找數(shù);

"""


sort()方法

grade = [88,57,98,100,45,66,89,93]

print("原列表",grade)

# 升序

grade.sort()

print("升序",grade)

# 降序

grade.sort(reverse=True)

print("降序",grade)

char = ["Char","ANGEL","Pig","dog","westt"]

char.sort()# 先按照大寫(xiě)? 再按照小寫(xiě)排

print(char)

char.sort(key=str.lower)# 大寫(xiě)轉(zhuǎn)換為小寫(xiě)

print(char)

# 內(nèi)置 sorted 函數(shù)

grade_as = sorted(grade)

print("升序",grade)

grade_des = sorted(grade,reverse=True)

print("降序",grade_des)# 建立一個(gè)新的副本

print("原序列",grade)# 原序列不變

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容