某排序算法如下:每一趟將一個待排序數(shù)據(jù),按其值的大小使用對分查找思想在已排序序列中找到合適位置并插入,將所有待排序數(shù)據(jù)全部插入即完成排序。實現(xiàn)該算法的程序如下:在列表框List1中顯示待排序數(shù)據(jù),單擊“排序”按鈕Command1后,逐行顯示排序過程。程序運行結(jié)果如圖所示。
實現(xiàn)上述功能的VB程序如下,加框處代碼有錯,請改正。
Const n=10'變量n存儲待排序數(shù)據(jù)個數(shù)
Dim d(1To n) As Integer'數(shù)組d存儲待排序數(shù)據(jù)
Private Sub APrint ( ?。?br />'本過程實現(xiàn)在列表框一行中輸出數(shù)組d各個元素的值,代碼略。
End Sub
Private Sub Command1_Click ( ?。?br />Dim i As Integer,j As Integer,tmp As Integer
Dim m As Integer,low As Integer,high As Integer
'先將待排序數(shù)據(jù)存儲在數(shù)組d中,代碼略。
List1.AddItem“-----------待排序數(shù)據(jù)------------“
Call Aprint'在列表框List1中輸出數(shù)組d的各個元素的值
List1.AddItem“-----------數(shù)據(jù)排序過程------------“
For i=2To n
tmp=d(i)
low=1
′(1)
Do While low<=high
m=(low+high)\2
If tmp<=d(m) Then
high=m-1
Else
low=m+1
End If
Loop
For j=i-1To low Step-1
d(j+1)=d(j)
Next j
′(2)
Call APrint
Next i
End Sub
【考點】冒泡排序算法及其實現(xiàn).
【答案】見試題解答內(nèi)容
【解答】
【點評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:12引用:1難度:0.8
相似題
-
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
請將代碼補充完整:
①
②發(fā)布:2024/12/20 20:30:1組卷:23引用:2難度:0.3 -
3.用選擇排序法對一組數(shù)據(jù)進行升序排序,第一趟排序結(jié)束后的順序為2、6、9、3、7,則原始數(shù)據(jù)順序不可能的是( ?。?/h2>
發(fā)布:2024/12/18 23:0:1組卷:10引用:1難度:0.5
把好題分享給你的好友吧~~