Python冒泡排序(4)

Python代碼:

"""
冒泡排序(4)在未排序的數中,通過兩兩比較[換位]的方式,將最小的數移至首位
N個數排序,則需要執行N-1輪,第1輪比較N-1次,后續每輪比上一輪少比較1次本例中:
第1輪將0放到正確位置;
第2輪將1放到正確位置;
......
第9輪將8放到正確位置;此方法中,兩個位置數字比較時,兩個位置都是變化的
第1輪第1次是位置8、位置9的數字比較,前者大,則互換位置;
第1輪第2次是位置7、位置8的數字比較,前者大,則互換位置;
......
第1輪第9次是位置0、位置1的數字比較,前者大,則互換位置;第2輪第1次是位置8、位置9的數字比較,前者大,則互換位置;
......
第2輪第8次是位置1、位置2的數字比較,前者大,則互換位置;
......"""lst = [3, 6, 9, 1, 8, 7, 2, 5, 4, 0]
print("排序前: %s\r\n" %lst)#
for i in range(len(lst)-1,0,-1): #[9,8,7,6,5,4,3,2,1]print("第%s輪" % (10-i))#for j in range(len(lst)-1,len(lst)-i-1,-1):# 如果前大后小,則交換位置if lst[j-1] > lst[j]:lst[j-1],lst[j] = lst[j],lst[j-1]print("    第%s次 [%s]:%s,[%s]:%s比較 互換 %s" % (9-j+1,j-1,lst[j],j,lst[j-1],lst))else:print("    第%s次 [%s]:%s,[%s]:%s比較 不變 %s" % (9-j+1,j-1,lst[j-1],j,lst[j],lst))print("\r\n排序后:  %s" % lst)

?輸出結果:

E:\python\algorithm>python3  bubbleSort4.py
排序前: [3, 6, 9, 1, 8, 7, 2, 5, 4, 0]第1輪第1次 [8]:4,[9]:0比較 互換 [3, 6, 9, 1, 8, 7, 2, 5, 0, 4]第2次 [7]:5,[8]:0比較 互換 [3, 6, 9, 1, 8, 7, 2, 0, 5, 4]第3次 [6]:2,[7]:0比較 互換 [3, 6, 9, 1, 8, 7, 0, 2, 5, 4]第4次 [5]:7,[6]:0比較 互換 [3, 6, 9, 1, 8, 0, 7, 2, 5, 4]第5次 [4]:8,[5]:0比較 互換 [3, 6, 9, 1, 0, 8, 7, 2, 5, 4]第6次 [3]:1,[4]:0比較 互換 [3, 6, 9, 0, 1, 8, 7, 2, 5, 4]第7次 [2]:9,[3]:0比較 互換 [3, 6, 0, 9, 1, 8, 7, 2, 5, 4]第8次 [1]:6,[2]:0比較 互換 [3, 0, 6, 9, 1, 8, 7, 2, 5, 4]第9次 [0]:3,[1]:0比較 互換 [0, 3, 6, 9, 1, 8, 7, 2, 5, 4]
第2輪第1次 [8]:5,[9]:4比較 互換 [0, 3, 6, 9, 1, 8, 7, 2, 4, 5]第2次 [7]:2,[8]:4比較 不變 [0, 3, 6, 9, 1, 8, 7, 2, 4, 5]第3次 [6]:7,[7]:2比較 互換 [0, 3, 6, 9, 1, 8, 2, 7, 4, 5]第4次 [5]:8,[6]:2比較 互換 [0, 3, 6, 9, 1, 2, 8, 7, 4, 5]第5次 [4]:1,[5]:2比較 不變 [0, 3, 6, 9, 1, 2, 8, 7, 4, 5]第6次 [3]:9,[4]:1比較 互換 [0, 3, 6, 1, 9, 2, 8, 7, 4, 5]第7次 [2]:6,[3]:1比較 互換 [0, 3, 1, 6, 9, 2, 8, 7, 4, 5]第8次 [1]:3,[2]:1比較 互換 [0, 1, 3, 6, 9, 2, 8, 7, 4, 5]
第3輪第1次 [8]:4,[9]:5比較 不變 [0, 1, 3, 6, 9, 2, 8, 7, 4, 5]第2次 [7]:7,[8]:4比較 互換 [0, 1, 3, 6, 9, 2, 8, 4, 7, 5]第3次 [6]:8,[7]:4比較 互換 [0, 1, 3, 6, 9, 2, 4, 8, 7, 5]第4次 [5]:2,[6]:4比較 不變 [0, 1, 3, 6, 9, 2, 4, 8, 7, 5]第5次 [4]:9,[5]:2比較 互換 [0, 1, 3, 6, 2, 9, 4, 8, 7, 5]第6次 [3]:6,[4]:2比較 互換 [0, 1, 3, 2, 6, 9, 4, 8, 7, 5]第7次 [2]:3,[3]:2比較 互換 [0, 1, 2, 3, 6, 9, 4, 8, 7, 5]
第4輪第1次 [8]:7,[9]:5比較 互換 [0, 1, 2, 3, 6, 9, 4, 8, 5, 7]第2次 [7]:8,[8]:5比較 互換 [0, 1, 2, 3, 6, 9, 4, 5, 8, 7]第3次 [6]:4,[7]:5比較 不變 [0, 1, 2, 3, 6, 9, 4, 5, 8, 7]第4次 [5]:9,[6]:4比較 互換 [0, 1, 2, 3, 6, 4, 9, 5, 8, 7]第5次 [4]:6,[5]:4比較 互換 [0, 1, 2, 3, 4, 6, 9, 5, 8, 7]第6次 [3]:3,[4]:4比較 不變 [0, 1, 2, 3, 4, 6, 9, 5, 8, 7]
第5輪第1次 [8]:8,[9]:7比較 互換 [0, 1, 2, 3, 4, 6, 9, 5, 7, 8]第2次 [7]:5,[8]:7比較 不變 [0, 1, 2, 3, 4, 6, 9, 5, 7, 8]第3次 [6]:9,[7]:5比較 互換 [0, 1, 2, 3, 4, 6, 5, 9, 7, 8]第4次 [5]:6,[6]:5比較 互換 [0, 1, 2, 3, 4, 5, 6, 9, 7, 8]第5次 [4]:4,[5]:5比較 不變 [0, 1, 2, 3, 4, 5, 6, 9, 7, 8]
第6輪第1次 [8]:7,[9]:8比較 不變 [0, 1, 2, 3, 4, 5, 6, 9, 7, 8]第2次 [7]:9,[8]:7比較 互換 [0, 1, 2, 3, 4, 5, 6, 7, 9, 8]第3次 [6]:6,[7]:7比較 不變 [0, 1, 2, 3, 4, 5, 6, 7, 9, 8]第4次 [5]:5,[6]:6比較 不變 [0, 1, 2, 3, 4, 5, 6, 7, 9, 8]
第7輪第1次 [8]:9,[9]:8比較 互換 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]第2次 [7]:7,[8]:8比較 不變 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]第3次 [6]:6,[7]:7比較 不變 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
第8輪第1次 [8]:8,[9]:9比較 不變 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]第2次 [7]:7,[8]:8比較 不變 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
第9輪第1次 [8]:8,[9]:9比較 不變 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]排序后:  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

?=====結束=====

轉載于:https://www.cnblogs.com/sam11/p/8342817.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453594.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453594.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453594.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

打印hello world java_java – 如何打印“hello world”?

數字4946144450195624適合64位,其二進制表示為:10001100100100111110111111110111101100011000010101000該程序對每5位組的字符進行解碼,從右到左00100|01100|10010|01111|10111|11111|01111|01100|01100|00101|01000d | l | r | o | w | | o…

研發人員為什么留不住

研發人員為什么留不住?(1)——問題與現象 研發團隊做為公司的核心,承擔了完成項目為公司賺錢的目的。研發人員在公司倍受重視的同時,并沒有降低流失率。 問題與現象 以下問題相信您會在朋友口中,甚至自己的公司聽到。 老板說&a…

算法與編程--1

1、編寫一個程序,將a.txt文件中的單詞與b.txt文件中的單詞交替合并到c.txt文件中,a.txt文件中的單詞用回車符分隔,b.txt文件中用回車或空格進行分隔。 package com.test;import java.io.File; import java.io.FileNotFoundException; import …

Safari支不支持HTML5錄音? 現在瀏覽器中最好的解決方案是WebRTC下的 navigator.getUserMedia API。...

先放結論:Safari支不支持HTML5錄音? ——據我調查,不支持。 現在瀏覽器中最好的解決方案是WebRTC下的 navigator.getUserMedia API。 可是當使用Can I use查看兼容性的時候,我發現 不過這個是有歷史原因的,我記得RTC是…

python lambda map reduce_簡單了解python filter、map、reduce的區別

這篇文章主要介紹了簡單了解python filter、map、reduce的區別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下python中有一些非常有趣的函數,面試的時候可能會遇到。今天也來總結一下,不…

面試問題匯總 精選 分析 解答 職業規劃 part 4

程序員做業余項目、記筆記和寫博客的重要性【經典】 編程是一種創造過程,業余項目允許程序員在沒有截止日期或各種限制的條件下,以探索形式編程。業余項目之所以重要,有以下幾個原因。 探索新技術 每天都會不斷有新技術出現,而…

NB-IOT連接移動onenet平臺流程

1. 先創建賬號,然后創建產品 2. 創建設備,用ATCGSN和ATCIMI查詢NB-IOT的IMEI和IMSI填寫上去。 3. 創建好的設備。 轉載于:https://www.cnblogs.com/429512065qhq/p/8359247.html

sort,uniq,wc指令簡單用法

sort用于排序,可以根據不同的數據類型來進行排序,例如想要查看最后一個登陸的用戶信息,可以把last和sort結合起來使用,按照登陸時間排序。 使用sort排序: sort常用參數: -f :忽略大小寫的差異 -…

java ejb jsp 架構_JavaEE架構

B/S 體系結構image.pngJava EE 經典架構image.pngJava EE 13規范JDBCimage.pngJDBC 對象與接口java.sql.DriverManager:用于管理JDBC驅動的服務類,當JDBC驅動加載至內存后,DriverManager會自動注冊JDBC驅動,然后通過getConnection…

音視頻中的CBR,VBR,ABR

視頻碼率CBR和VBR 固定碼率(CBR)與可變碼率(VBR) 一般在我們輸出視頻文件的時候都會碰到一個選擇即CBR與VBR,CBR的英文全稱是Constant Bit Rate翻譯過來是固定碼率,就是說每一秒種的畫面如果看做是一個…

fifo java_java – 如何保證ThreadPoolExecutor中的FIFO執行順序

我用這行代碼創建一個ThreadPoolExecutor:private ExecutorService executor new ThreadPoolExecutor(5, 10, 120, TimeUnit.SECONDS, new ArrayBlockingQueue(20, true));然后,我運行25個任務(T01到T25),所以情況是:>目前正在運行的5個任務(T01到T0…

HihoCoder 1671 DFS

本以為是個簡單的水題,好吧,其實就是個水題,雖然我還是…… 題意的理解上有一點小小的問題orz,這里的括號里的字母是可以看成一個整體的,可以看作一個字母來進行反轉, 比如說,(abc(de))&#xf…

avs 中國音視頻標準DRA 中音頻標準及應用

DRA 是Digital Rise Audio的縮寫。是廣州廣晟數碼技術有限公司(Digital Rise Technology)開發的一項數字音頻編碼技術,目前是音頻編碼的國家標準。2007年1月被批準成為中國電子行業標準(標準號SJ/T11368-2006)。DRA音頻標準可應用…

UWP數據綁定

已針對 Windows 10 上的 UWP 應用更新。 有關 Windows 8.x 文章,請參閱存檔 ] 數據綁定是你的應用 UI 用來顯示數據的一種方法,可以選擇與該數據保持同步。 借助數據綁定,你可以將關注的數據從關注的 UI 中分離開來,從而可形成一個…

資源鏈接

http://cn.epubee.com/ 電子書 http://www.feemic.cn/mooc_search/1002384010 中國大學mooc視頻下載 http://www.icourse163.org 中國大學mooc http://www.xuetangx.com 學堂在線 http://yun.java1234.com/ 視頻搜索 http://www.52studyit.com/轉載于:https://www.cnblogs.co…

最大開源代碼sourceforge 簡介 及視音頻方面常用的開源代碼

所有的音視頻凱源代碼在這里:http://sourceforge.net/directory/audio-video/os:windows/,你可以下載分析,視頻不懂請發郵件給我,幫你分析。 0.視頻項目 0.1 VLC media player VLC 多媒體播放器(最初為VideoLAN Clien…

[轉]被當做狗和雞來驅趕的百姓

原文鏈接:知乎 杜甫寫過許多好詩。 好詩,不一定是辭藻美、場面好、色色入畫。 不一定是吳楚東南坼,乾坤日夜浮。不一定是五更鼓角聲悲壯,三峽星河影動搖。 不一定是星垂平野闊,月涌大江流。不一定是細雨魚兒出&#xf…

背包問題(動態規劃)

本篇文章作為個人的背包問題學習資料,來自轉載 dd大牛的《背包九講》. P01: 01背包問題 題目 有N件物品和一個容量為V的背包。第i件物品的費用是c[i],價值是w[i]。求解將哪些物品裝入背包可使這些物品的費用總和不超過背包容量,且價值總和最大…

notepad編譯java_Notepad++直接編譯運行java代碼的具體步驟

最近不少朋友表示還不會Notepad直接編譯運行java代碼的操作步驟,使用下面小編就帶來了Notepad直接編譯運行java代碼的操作方法哦,一起去看看吧。Notepad直接編譯運行java代碼的具體步驟下載Notepad,找到Plugin Manager。插件--->Plugin Ma…

基于linux 的2048

于 debian 接著寫 2048, 的影響,如下面的: 感興趣的朋友能夠在這里(http://download.csdn.net/download/kamsau/7330933)下載。 版權聲明:本文博客原創文章,博客,未經同意,不得轉載。…