python 氣泡排序的總結

2022-06-11 06:03:09 字數 1731 閱讀 6691

思路:

3 5 1 6 2

第一次:找到這些書中最大的乙個,並把它放到最後

3、5找到大的數放到第二個位置1、5

5、1找到大的數放到第三個位置1、5、1

5、6找到大的數放到第四個位置

2、6找到大的數放到第五個位置

第五個位置就是最大的

#encoding=utf-8

a=[3,5,1,6,2]

for i in range(len(a)-1):

if a[i] > a[i+1]:

a[i],a[i+1] = a[i+1],a[i]

print ("a:",a)

d:\test\pytyon3>py -3 a.py

a: [3, 1, 5, 2, 6]

找到最大值了,現在開始找次大值

分析過程:

3 5 1 6 2

第一次:找到這些數中最大的乙個,並把它放最後。

3、5找到大的數放到第二個位置

5、1找到大的數放到第三個位置

5、6找到大的數放到第四個位置

2、6找到大的數放到第五個位置

第五個位置就是最大的。

a,b = b,a

temp=a

a=bb=temp

a= [3,5,1,6,2]

for i in range(len(a)-1):

if a[i]>a[i+1]:

a[i],a[i+1] = a[i+1],a[i]

print(a[-1])

找最大值了,現在次大值,次大值放在倒數第二的位置。

a= [3,5,1,2,6]

for i in range(len(a)-1-1):

if a[i]>a[i+1]:

a[i],a[i+1] = a[i+1],a[i]

print(a[-1])

找第三個最大的數,放到倒數第三個。

a= [3,1,2,5,6]

for i in range(len(a)-1-1-1):

if a[i]>a[i+1]:

a[i],a[i+1] = a[i+1],a[i]

print(a[-3])

找到第四大的書,放到倒數第四個。

for i in range(len(a)-1-1-1-1):

if a[i]>a[i+1]:

a[i],a[i+1] = a[i+1],a[i]

print(a[-4])

剩下的最後乙個,就是最小的數,放到第乙個

**:a=[3,5,1,2,6]

print(a)

for i in range(len(a)-1):#0,1,2,3

for j in range(len(a)-1-i):

if a[j] > a[j+1]:

a[j],a[j+1] = a[j+1],a[j]

print ("a:",a)

結果:

d:\test\pytyon3>py -3 a.py

[3, 5, 1, 2, 6]

a: [1, 2, 3, 5, 6]

怎麼理解:

第一次內層迴圈的結果就是找到最大的值

第二次內層迴圈的結果就是找到次大的值,本次將忽略最後乙個元素的比較

第二次內層迴圈的結果就是找到第三大的值,本次講忽略倒數第二個元素和最後乙個元素的比較

排序總結 氣泡排序

created by liyuanshuo on 2017 3 17.include bubble sort.h 基本思想 在要排序的一組數中,對當前還未排好序的範圍內的全部數,自上而下對相鄰的兩個數依次進行比較和調整,讓較 大的數往下沉,較小的往上冒。即 每當兩相鄰的數比較後發現它們的排序與排序要...

氣泡排序總結

氣泡排序 氣泡排序演算法的運作如下 從後往前 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數...

python的氣泡排序

氣泡排序 英語 bubble sort 是一種簡單的排序演算法。它重複地遍歷要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來,直到不再需要交換,也就是說該數列已經排序完成。按照定義,兩兩排序,遇到第一次交換就重新遍歷,從第乙個數開始,直到不再需要交換,排序完成。在這裡,分享三種氣泡...