日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

c++ 冒泡排序_干货|python笔记1-冒泡排序

發布時間:2023/12/10 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++ 冒泡排序_干货|python笔记1-冒泡排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

面試的時候經常有面試官喜歡問如何進行冒泡排序?這個問題相信可以難倒一批的同學,本篇就詳細講解如何用python進行冒泡排序。

基本原理

01概念:

冒泡排序是一種交換排序,它的基本思想是:兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止。

它重復地走訪過要排序的數列,一次要比較兩個元素,如果這兩個元素的順序錯誤就將他們兩個交換過來。走訪數列的工作是重復進行的,直到沒有再需要交換的元素,也就說該數列已經完成排序了。

這個算法名字的由來就是因為大的元素會通過交換慢慢“浮”到數列的頂端。

02算法原理:

冒泡排序算法的運作如下:(從后向前)

  • 比較相鄰的兩個數,如果第一個數比第二個數大,則兩數交換。
  • 對之后的相鄰元素進行同樣的工作,從開始到最后一對,這樣進行一次排序后,數據的最后一位會是最大值 ,第一次循環進行的次數為 arr.length-1。
  • 之后對所有的元素重復以上的步驟,且以后每次循環的次數為arr.length-1-i (i為循環第幾次 ,i 從零開始);
  • 重復上述步驟,直到排序完成。

交換兩個數

1.如果a = 10 , b = 20如何交換兩個數呢?

2.實現兩個數的交換原理其實很簡單,設一個臨時變量c就可以了:

>先把a的值傳給c,此時c的值就是10了,a的值還是10

>然后把b的值傳給a,此時a的值是20,b的值還是20

>最后把c的值傳給b, 此時b的值是10

3.python里面交換兩個數不用那么復雜,用這個方法就行了:

>a , b = b, a

遍歷比較相鄰的數

1.比如一個隊列是:[1, 3, 10, 9, 21, 35, 4, 6]

2.可以做一次遍歷,比較相鄰的數,后面的數比前面的數小就交換,這樣第一次遍歷可以把最大的數下沉到最后一個位置。

循環下沉

1.與上面的遍歷做比較就只做了一次下沉,把最大的數下沉到最后一個位置上,那接下來就需要把第二大的數,下沉到倒數的第二個位置,依次循環,一直到最小的數在最前面。

2.這里s是先計算li隊列的長度,然后把range函數反轉了,變成:[7, 6, 5, 4, 3, 2, 1, 0]

sort()排序

說實話,python里面排序只用一個函數就可以搞定:sort()

參考代碼


以上是python筆記1—冒泡排序的全部內容,如果覺得對你有幫助,可以添加“收藏”!

如果還有疑問的地方,歡迎評論留言給我們~

總結

以上是生活随笔為你收集整理的c++ 冒泡排序_干货|python笔记1-冒泡排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。