某排序算法思想如下:每一趟將一個待排序的記錄,按其關(guān)鍵字的大小插入到已經(jīng)排好序的一組記錄的適當(dāng)位置上,直到所有待排序記錄全部插入為止。例如(9,3,1,4)升序排序;第一步 3 插入到有序記錄(9),得到(3,9);第二步 1 插入到有序記錄(3,9),得到(1,3,9);第三步 4 插入到有序記錄(1,3,9),得到最終有序記錄為“1,3,4,9”。
為此,編寫了一個 VB 程序,功能如下:運行程序,窗體加載時隨機(jī)產(chǎn)生 10 個隨機(jī)整數(shù),并在列表框 List1 中依次顯示排序前數(shù)據(jù),單擊“排序”按鈕 Command1,在列表框 List2 中
顯示經(jīng)過上述排序算法后的數(shù)據(jù),運行結(jié)果如圖 b 所示。實現(xiàn)上述功能的 VB 代碼如下,但加框處代碼有錯,請改正。
Const n=10
Dim a(1To n) As Integer'生成 n 個隨機(jī)數(shù),存儲在 a 數(shù)組,代碼略
Private Sub Command1_Click ( ?。?br />Dim i As Integer,j As Integer,t As Integer
For i=2To n
t=a(i):j=i-1
Do While t<a(j)
a(j+1)=a(j) j=j-1
If Then Exit Do
Loop
Next i
For i=1To n
List2.AddItem Str(a(i))
Next i
End Sub
【考點】冒泡排序算法及其實現(xiàn).
【答案】見試題解答內(nèi)容
【解答】
【點評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/5/23 20:38:36組卷:40引用:2難度:0.1
相似題
-
1.有如下 Python 程序段:
運行后列表中的值可能是( ?。?/h2>發(fā)布:2024/12/18 21:0:2組卷:5引用:3難度:0.3 -
2.用VB編寫的函數(shù)bubble_sort是一個用冒泡方法實現(xiàn)排序的函數(shù),其調(diào)用時需要三個參數(shù):布爾類型參數(shù)sx來確定是升序還是降序,sx為True時為升序,否則為降序;整數(shù)型數(shù)組a
比如有一個整數(shù)型數(shù)組a(1 to 10)需要降序排序,可以直接這樣調(diào)用:
a
該函數(shù)VB代碼如下:
Function bubble_sort(sx As Boolean,a
Dim i,j,t As Integer
For i=1 To n-1
For j=
If
If a(j)<a(j-1)Then t=a(j):a(j)=a(j-1):a(j-1)=t
Else
If a(j)>a(j-1)Then t=a(j):a(j)=a(j-1):a(j-1)=t
End If
Next j
Next i
bubble_sort=a
End Function
請將代碼補(bǔ)充完整:
①
②發(fā)布:2024/12/20 20:30:1組卷:23引用:2難度:0.3 -
3.用選擇排序法對一組數(shù)據(jù)進(jìn)行升序排序,第一趟排序結(jié)束后的順序為2、6、9、3、7,則原始數(shù)據(jù)順序不可能的是( ?。?/h2>
發(fā)布:2024/12/18 23:0:1組卷:10引用:1難度:0.5
把好題分享給你的好友吧~~