Python中的基本演算法之一,氣泡排序

2021-10-20 19:52:05 字數 1067 閱讀 4457

下面是使用python來實現氣泡排序的演算法,氣泡排序是基本演算法之一,也是我們在面試過程中經常遇到的乙個面試題,來考驗我們基本的**編寫能力,下面我們就用**的實現這個需求。

1、首先我們要思考的是如可將乙個順序混亂的列表,按照降序或者是公升序進行排列,其實就是進行比較,把數值大的排到後邊,把數值小的排到前面,不斷的進行比較,直到按照我們的意願進行排列為止。

2、我們首先取第乙個數值和第二個數值進行比較,誰大調換位置,否則保持原來的位置不變,都二次是第二個數值和第三個數值進行比較,同樣誰大誰往後調換位置,以此類推,這樣我們就能把數值最大的排到最後了

3、按照步驟2中的比較進行一輪又一輪的迴圈比較,這樣我們就能把倒數第二位大的數,第三位…都找出來了,這樣就排好序了,思路就是這樣,下面我們用**實現一下!

# 定義乙個無序的列表

list_info =[4

,3,7

,1,2

,6,9

,8,5

]# 建立乙個迴圈

for i in

range(1

,len

(list_info)):

# 每一次迴圈可以確定乙個數

for n in

range

(len

(list_info)

-i):

# 兩兩進行迴圈比較,數值大的往後排,-i:上面每次迴圈可以確定乙個數所以我們可以少比較一次

if list_info[n]

> list_info[n+1]

: list_info[n]

,list_info[n+1]

= list_info[n+1]

,list_info[n]

# 調換位置

print

(list_info)

# 列印結果

雖然這是**的量並不多,但是新手還是需要進行反覆的思考,理清裡邊的迴圈,和迴圈有的是從1開始的,有的是從0開始的,為什麼-i,這些對於新手來說也不是一眼能看出來裡邊的邏輯的。

內容略顯簡單,但是也是博主用心完成的,如果你覺得本文對你有用,可以點讚和收藏歐!

基本排序演算法 之一 氣泡排序

templatevoid bubblesort t arr,int len 未改進的氣泡排序,最好,最壞以及平均情況下的時間複雜度均為o n 2 排序過程可能在k k n 1 次外迴圈後已經達到有序狀態,但該演算法仍然會繼續比較相鄰元素,直到n 1次外迴圈結束。基於以上考慮,提出改進的氣泡排序演算法...

python爬蟲之一 基本架構

排程器 呼叫其他元件,並控制目標資料輸出 url管理器 儲存待爬取 已爬取url,要防止爬取重複的url 網頁解析器 解析html頁面中的文字資訊,獲取目標資料和新的url鏈結 2.2.1 功能 維護待爬取集合和已爬取集合 判斷得到的url是否已爬取 將新的url新增到待爬取集合 判斷待爬取集合是否...

python資料分析與演算法之一 基本概念

如何形象化的理解演算法?意義 什麼是演算法分析?引例 a b c 1000 a 2 b 2 c 2 a,b,c均為自然數 求出a,b,c可能的組合?法一 for a in range 0,1001 for b in range 0,1001 for c in range 0,1001 if a b ...