資源簡介 《冒泡排序》作業1、采用冒泡排序某數組a有5個元素,分別是88,110,48,64,35。采用冒泡排序對其進行排序,若完成某一遍時的結果是35,88,110,48,64,則完成下一遍時的結果是( )A. 35,88,110,48,64 B. 35,48,110,88,64C. 35,48,88,110,64 D. 35,48,64,88,1102、有如下程序段:s = ""For i = 1 To 3 For j = 7 To i + 1 Step -1 If a(j) < a(j - 1) Then t = a(j): a(j) = a(j - 1): a(j - 1) = t21世紀教育網版權所有 End If Next j s = s + Str(a(i))Next iText1.Text = s數組元素a(1)到a(7)的數據依次為“3,9,1,5,8,6,2”,經過該程序段“加工”后,文本框Text1中顯示的內容是( ) 21教育網A. 1 2 3B. 9 8 6C. 3 9 1D. 8 6 23、n個數據的冒泡排序需要經過n-1遍加工,每一遍加工自下而上比較相鄰兩個數據,把較小者交換到上面。小劉發現:當某一遍加工過程中沒有數據交換,說明數據已經有序,無需進一步加工。為此,小劉對算法進行優化,編寫了一個VB程序,功能如下:運行程序時,在列表框List1中顯示排序前數據,單擊“排序”按鈕Command1,在列表框List2中顯示這些數據按升序排序后的結果,在標簽Label3中顯示排序過程的加工遍數。運行效果如例16-2圖所示。21cnjy.com例16-2圖實現上述功能的VB代碼如下,但加框處代碼有錯,請改正。Dim a(1 To 8) As IntegerDim n As IntegerPrivate Sub Form_Load()'n=8,排序前數據存儲在數組a中,并在列表框Listl中顯示'代碼略End SubPrivate Sub Command1_Click()Dim flag As Boolean 'flag值為True表示一遍加工中發生過交換i=1flag=TrueDo While '(1)flag=FalseFor j=n To i+1 Step -1If a(j)k=a(j):a(j)=a(j-1):a(j-1)=kflag=TrueEnd IfNext ji=i+1LoopLabel3.Caption="排序過程的加工遍數為"+ '(2)For i=1 To nList2.AddItem Str(a(i))Next iEnd Sub 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫