版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
排序算法的程序?qū)崿F(xiàn)排序算法——冒泡排序所謂冒泡排序,形象的說,就是在將一組數(shù)據(jù)從小到大的順序排列時(shí),小的數(shù)據(jù)視為質(zhì)量較輕,大的數(shù)據(jù)視為質(zhì)量較重,小的數(shù)據(jù)好比水中的氣泡,往上方移動,較大的數(shù)據(jù)好比是石頭,往下沉,最重的會沉到底,最輕的會浮到頂,反復(fù)進(jìn)行比較,直到數(shù)據(jù)列排成有序列。實(shí)例分析請將下列數(shù)據(jù)按從大到小的順序,利用冒泡法排序。{30,38,65,97,76,13,27,49}1排序號:數(shù)據(jù)序號12345678原始數(shù)據(jù)30386597761327492排序數(shù)據(jù)序號12345678原始數(shù)據(jù)數(shù)據(jù)序號12345678原始數(shù)據(jù)現(xiàn)將8號數(shù)據(jù)49和7號數(shù)據(jù)27比較,因?yàn)?9>27所以,49和27的位置互換,變?yōu)椋篿=1:第一次排序j=8:第一步:8號、7號排序49271376976538304927137697653830t49t=d(8):d(8)=d(7):d(7)=t數(shù)據(jù)序號12345678原始數(shù)據(jù)數(shù)據(jù)序號12345678原始數(shù)據(jù)j=7:第二步:7號6號排序4927137697653830現(xiàn)將7號數(shù)據(jù)49和6號數(shù)據(jù)13比較,因?yàn)?9>13所以,49和13的位置互換,變?yōu)椋?927137697653830t49t=d(7):d(7)=d(6):d(6)=tj=6:第三步:比較6、5號數(shù)據(jù)j=5:第四步比較5、4號數(shù)據(jù)方法同第三步,因?yàn)?6<97所以數(shù)據(jù)順序不變。數(shù)據(jù)序號12345678原始數(shù)據(jù)數(shù)據(jù)序號12345678原始數(shù)據(jù)1327497697653830現(xiàn)將6號數(shù)據(jù)49和5號數(shù)據(jù)76比較,因?yàn)?9<76所以,49和76的位置不互換。1327497697653830j=4:第五步:比較4、3號數(shù)據(jù)數(shù)據(jù)序號12345678原始數(shù)據(jù)數(shù)據(jù)序號12345678原始數(shù)據(jù)1327497697653830現(xiàn)將4號數(shù)據(jù)97和3號數(shù)據(jù)65比較,因?yàn)?7>65所以,97和65的位置互換。1327497697653830t
97t=d(4):d(4)=d(3):d(3)=tj=3:第六步:比較3、2號數(shù)據(jù):數(shù)據(jù)序號12345678原始數(shù)據(jù)數(shù)據(jù)序號12345678原始數(shù)據(jù)1327497665973830現(xiàn)將3號數(shù)據(jù)97和2號數(shù)據(jù)38比較,因?yàn)?7>38所以,97和38的位置互換。1327497665973830t
97t=d(3):d(3)=d(2):d(2)=tj=2第七步:比較2、1號數(shù)據(jù)數(shù)據(jù)序號12345678原始數(shù)據(jù)數(shù)據(jù)序號12345678原始數(shù)據(jù)1327497665389730現(xiàn)將2號數(shù)據(jù)97和1號數(shù)據(jù)30比較,因?yàn)?7>30所以,97和30的位置互換。1327497665389730t97t=d(2):d(2)=d(1):d(1)=t這樣就完成了第一次排序,它的基本特征是將最大數(shù)排到了最左邊,然后再從第8個(gè)開始,進(jìn)行第二次排序,將第二大的數(shù)據(jù)排到了第二位,反復(fù)下去,就可以完成排序。一共要進(jìn)行7次才能完成。數(shù)據(jù)序號12345678原始數(shù)據(jù)數(shù)據(jù)序號12345678原始數(shù)據(jù)數(shù)據(jù)序號12345678原始數(shù)據(jù)1327497665383097經(jīng)過第二次排序,數(shù)據(jù)順序應(yīng)該是什么樣的?2713496538307697經(jīng)過第三次呢?2713493830657697算法分析第1次冒泡排序時(shí)(i=1)
j從8開始到2Forj=8to2step-1ifd(j)<d(j-1)then交換d(j)和d(j-1)的值第2次冒泡排序時(shí)(i=2)
j從8開始到3Forj=8to3step-1ifd(j)<d(j-1)then交換d(j)和d(j-1)的值第3次冒泡排序時(shí)(i=3)
j從8開始到4Forj=8to4step-1ifd(j)<d(j-1)then交換d(j)和d(j-1)的值當(dāng)i從1到7變化時(shí)每次j從8到i+1時(shí)
d(j)>d(j-1)時(shí),則交換它們第4次冒泡排序時(shí)(i=4)
j從8開始到5Forj=8to5step-1ifd(j)<d(j-1)then交換d(j)和d(j-1)的值第5次冒泡排序時(shí)(i=5)
j從8開始到6Forj=8to6step-1ifd(j)<d(j-1)then交換d(j)和d(j-1)的值第6次冒泡排序時(shí)(i=6)
j從8開始到7Forj=8to7step-1ifd(j)<d(j-1)then交換d(j)和d(j-1)的值第7次冒泡排序時(shí)(i=7)
j從8開始到8Forj=8to8step-1ifd(j)<d(j-1)then交換d(j)和d(j-1)的值說明1.冒泡法排序完成n個(gè)數(shù)據(jù)的一次排序需要n-1趟比較,完成整個(gè)排序需要n*(n-1)/2次比較,對于數(shù)據(jù)較多時(shí),計(jì)算量很大。2.有些數(shù)據(jù)的冒泡法排序可能用更少的步驟可以完成,后面的步驟可能毫無意義,但計(jì)算機(jī)必須完成。3.交換數(shù)據(jù)時(shí)注意引入第三方變量。提高:如果要對有n個(gè)元素的數(shù)組進(jìn)行排序,那么要進(jìn)行________輪冒泡,其中外循環(huán)變量i從
到
變化,內(nèi)循環(huán)變量j從
到
變化。
n-11n-1ni+1a(1)、a(2)、a(3)、…a(n-2)、a(n-1)、a(n)總結(jié)(以降序?yàn)槔?數(shù)組d(1ton)Fori=1Ton-1(i:n個(gè)數(shù)排序共需進(jìn)行n-1趟)Forj=nToi+1Step-1(j:控制元素對比與交換)ifd(j)>d(j-1)then(每一趟從后往前,數(shù)據(jù)比較)t=d(j):d(j)=d(j-1):d(j-1)=t(滿足條件,數(shù)據(jù)交換)NextjNexti思考:如果以升序進(jìn)行冒泡排序,劃線處的程序代碼
如何修改?
1、今年北京奧運(yùn)會有七個(gè)國家或地區(qū)參加,開幕式按照國家或地區(qū)英文名從小到大的次序出場,已知這七個(gè)國家或地區(qū)的名字,請寫出經(jīng)前三趟冒泡后出場的次序表。
England,France,American,Italy,Japan,China,Hongkong1234567EnglandFranceAmericanItalyJapanChinaHongkong課堂練習(xí)1234567AmericanChinaEnglandFranceHongkongItalyJapan2、對“648251”中的6個(gè)數(shù)碼進(jìn)行兩趟冒泡排序后即為某游戲中數(shù)字密碼鎖的密碼,該密碼是()。
A)684521B)462518C)126485D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南省林州市一中2025年下學(xué)期高三聯(lián)考語文試題含解析
- 河北省邢臺市第三中學(xué)2025年校高三第五次月考語文試題含解析
- 物理第二章第2節(jié)聲音的特性-2024-2025學(xué)年人教版物理八年級上學(xué)期
- ??谑兄攸c(diǎn)中學(xué)2024-2025學(xué)年高考語文試題一輪復(fù)習(xí)模擬試題含解析
- 隱患排查通報(bào)
- 廣東省陽江三中2024-2025學(xué)年高三5月高考保溫測試語文試題含解析
- DB54T 0051.3-2024天麻半野生生產(chǎn)技術(shù)規(guī)程 第三部分 商品麻生產(chǎn)
- 甘肅省民勤三中2025屆高三第二次聯(lián)考考語文試題理試題含解析
- 福建省三明市尤溪縣普通高中2025年高三5月摸底考試語文試題試卷含解析
- 福建省羅源一中2024-2025學(xué)年高考語文試題必刷試卷(新課標(biāo)卷)含解析
- DB3716-T 27-2023鄉(xiāng)鎮(zhèn)級應(yīng)急物資配備指南
- 大安市3萬畝鹽堿地改造項(xiàng)目建設(shè)可行性研究報(bào)告
- 會計(jì)綜合實(shí)訓(xùn)答案
- 周長的認(rèn)識劉延革課堂實(shí)錄整理教案
- 分級護(hù)理質(zhì)量追蹤與持續(xù)改進(jìn)
- 企業(yè)人員流失相關(guān)研究概述,mba人力資源管理論文
- 建筑專業(yè)常用規(guī)范圖集
- GB/T 451.3-2002紙和紙板厚度的測定
- 部編版五年級上冊語文全冊看拼音寫詞語專項(xiàng)練習(xí)
- GB/T 13033.1-2007額定電壓750V及以下礦物絕緣電纜及終端第1部分:電纜
- T-ZHHC 1002-2022 信息技術(shù) 噴墨打印機(jī)用墨盒通用規(guī)范
評論
0/150
提交評論