下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、16. 【加試題】n個數(shù)據(jù)的冒泡排序需要經(jīng)過n-1遍加工,每一遍加工自下而上比較相鄰兩個數(shù)據(jù),把較小者交換到上面。小劉發(fā)現(xiàn):當(dāng)某一遍加工過程中沒有數(shù)據(jù)交換,說明數(shù)據(jù)已經(jīng)有序,無需進(jìn)一步加工。為此,小劉對算法進(jìn)行優(yōu)化,編寫了一個VB程序,功能如下:運行程序時,在列表框List1中顯示排序前數(shù)據(jù),單擊“排序”按鈕Commaiid1,在列表框List2 中顯示這些數(shù)據(jù)按升序排序后的結(jié)果,在標(biāo)簽Label3中顯示排序過程的加工遍數(shù)。運行效果如第16題圖所示。實現(xiàn)上述功能的VB代碼如下,但加框處代碼有錯,請改正。Dim a(1 To 8) As IntegerDim n As IntegerPrivat
2、e Sub Form_Load()'n=8,排序前數(shù)據(jù)存儲在數(shù)組a中,并在列表框Listl中顯示 '代碼略End SubPrivate Sub Command1_Click()Dim flag As Boolean 'flag值為True表示一遍加工中發(fā)生過交換i = 1flag = TrueDo While '(1) i <= n - 1 Or flag = True flag = False For j = n To i + 1 Step -1 If a(j) < a(j - 1) Then k = a(j): a(j) = a(j - 1):
3、a(j - 1) = k flag = True End If Next j i = i + 1LoopStr(i)Label3.Caption = "排序過程的加工遍數(shù)為" + '(2)For i = 1 To n List2.AddItem Str(a(i)Next iEnd Sub第16題圖16【加試題】小吳為了研究冒泡排序過程中數(shù)據(jù)的“移動”情況,編寫了一個VB程序,功能如下:在列表框List1中顯示排序前數(shù)據(jù)(存儲在數(shù)組a中),在文本框Text1中輸入初始位置(即下標(biāo)值),單擊“排序”按鈕Command1后,在標(biāo)簽Label1中顯示指定初始位置的數(shù)據(jù)在排序
4、過程中的位置變化情況,排序后的數(shù)據(jù)顯示在列表框List2中。程序運行界面如圖所示。實現(xiàn)上述功能的VB程序如下,但加框處代碼有錯,請改正。Dim a(1 To 8) As IntegerDim n As IntegerPrivate Sub Form_Load()a(1) = 30: a(2) = 47: a(3) = 30: a(4) = 72a(5) = 70: a(6) = 23: a(7) = 99: a(8) = 24n = 8For i = 1 To 8List1.AddItem a(i)Next iEnd SubPrivate Sub Command1_Click()Dim i A
5、s Integer, j As Integer, k As IntegerDim pos As IntegerDim s As Strings = Text1.Textpos = Val(Text1.Text)For i = 1 To n - 1For j = n To i + 1 Step -1If a(j) < a(j - 1) Then k = a(j)a(j - 1) = a(j)a(j) = k'如果pos位置的數(shù)據(jù)參與交換,則更新pos值,記錄pos變化位置If pos = j Then pos = j - 1s = s + "" + Str(po
6、s) Elsepos = js = s + "" + Str(pos)End IfEnd IfNext jNext iLabel1.Caption = "位置變化情況:" + s數(shù)組元素數(shù)組元素的含義a(1)存儲班級數(shù)na(2)從a(2)到a(n+1) 依次存儲第1、2、第n個班級人數(shù)a(n+1)a(n+2)從a(n+2) 依次存儲第1班每個學(xué)生的單科成績、第2班每個學(xué)生的單科成績、第n班每個學(xué)生的單科成績 For i = 1 To nList2.AddItem Str(a(i)Next iEnd Sub16【加試題】小李基于冒泡排序算法編寫了一個VB程
7、序,功能如下:在文本框Text1中顯示排序前的數(shù)據(jù),單擊“排序”按鈕Command1,在文本框Text2中顯示剔除重復(fù)數(shù)據(jù)后的升序排序結(jié)果。程序運行界面如下圖所示。實現(xiàn)上述功能的VB程序如下,但加框處代碼有錯,請改正。Const n = 10Dim a(1 To n) As IntegerPrivate Sub Command1_Click()Dim i As Integer, j As Integer, t As IntegerDim bottom As Integer'獲取排序前數(shù)據(jù)依次存儲在數(shù)組a中,并在文本框Text1中顯示。代碼略bottom = ni = 1Do While i <= bottom - 1 For j = bottom To i + 1 Step -1 If a(j) < a(i) Then t = a(j): a(j) = a(j - 1): a(j - 1) = t ElseIf a(j) = a(j - 1) Then ' 相鄰兩個數(shù)據(jù)相等,進(jìn)行剔除處理 a(bottom)=a(j) bottom = bottom - 1
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《初級會計講義》課件
- 《圍絕經(jīng)期出血》課件
- 小學(xué)一年級上冊青島版5年制數(shù)學(xué)3610以內(nèi)數(shù)的加減混合運算同步教案
- 小學(xué)一年級100以內(nèi)數(shù)學(xué)口算練習(xí)題大全
- 外墻腳手架承包合同6篇
- 三校聯(lián)考生物試卷生物科期末考試試卷
- 高考語文綜合素質(zhì) 晨讀材料專題輔導(dǎo)之三
- 《分配式噴油泵》課件
- 《贏得歷史的機(jī)遇》課件
- 四川省部分名校2023-2024學(xué)年高三上學(xué)期期末聯(lián)合考試英語試題(音頻暫未更新)
- (八省聯(lián)考)河南省2025年高考綜合改革適應(yīng)性演練 化學(xué)試卷(含答案)
- 2025中國電信山東青島分公司校園招聘高頻重點提升(共500題)附帶答案詳解
- 2025年八省聯(lián)考高考語文作文真題及參考范文
- 新課標(biāo)(水平三)體育與健康《籃球》大單元教學(xué)計劃及配套教案(18課時)
- 開題報告-鑄牢中華民族共同體意識的學(xué)校教育研究
- 計件工勞務(wù)合同范例
- 2024年公交車開通儀式講話例文(4篇)
- 2024-2025學(xué)年八年級上冊物理 第五章 透鏡以及其應(yīng)用 測試卷(含答案)
- 《中華人民共和國政府采購法》專題培訓(xùn)
- 《自理理論orem》課件
- 科研倫理與學(xué)術(shù)規(guī)范(研究生)期末試題庫及答案
評論
0/150
提交評論