某排序算法如下:每一趟将一个待排序数据,按其值的大小使用对分查找思想在已排序序列中找到合适位置并插入,将所有待排序数据全部插入即完成排序。实现该算法的程序如下:在列表框List1中显示待排序数据,单击“排序”按钮Command1后,逐行显示排序过程。程序运行结果如图所示。

实现上述功能的VB程序如下,加框处代码有错,请改正。
Const n=10'变量n存储待排序数据个数
Dim d(1To n) As Integer'数组d存储待排序数据
Private Sub APrint ( )
'本过程实现在列表框一行中输出数组d各个元素的值,代码略。
End Sub
Private Sub Command1_Click ( )
Dim i As Integer,j As Integer,tmp As Integer
Dim m As Integer,low As Integer,high As Integer
'先将待排序数据存储在数组d中,代码略。
List1.AddItem“-----------待排序数据------------“
Call Aprint'在列表框List1中输出数组d的各个元素的值
List1.AddItem“-----------数据排序过程------------“
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
【考点】冒泡排序算法及其实现.
【答案】见试题解答内容
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/6/27 10:35:59组卷:12引用:1难度:0.8
相似题
-
1.有如下 Python 程序段:
运行后列表中的值可能是( )发布:2024/12/18 21:0:2组卷:5引用:3难度:0.3 -
2.用VB编写的函数bubble_sort是一个用冒泡方法实现排序的函数,其调用时需要三个参数:布尔类型参数sx来确定是升序还是降序,sx为True时为升序,否则为降序;整数型数组a
比如有一个整数型数组a(1 to 10)需要降序排序,可以直接这样调用:
a
该函数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
请将代码补充完整:
①
②发布:2024/12/20 20:30:1组卷:23引用:2难度:0.3 -
3.用选择排序法对一组数据进行升序排序,第一趟排序结束后的顺序为2、6、9、3、7,则原始数据顺序不可能的是( )
发布:2024/12/18 23:0:1组卷:10引用:1难度:0.5