小明编写了一个有关整数闭区间合并操作的VB程序:从数据库读取闭区间数据(左端点和右端点),存储在数组a中,按区间数据左端点升序排序,然后进行合并操作,操作结果存储在数组b中。
例如,读取的数据为2、3、15、25、10、14、1、5、30、60、15、25,过程是:
(1)设置区间信息为[2,3],[15,25],[10,14],[1,5],[30,60],[15,25];
(2)按区间左端点升序排序,得到J区间信息为[1,5],[2,3],[10,14],[15,25],[15,25],[30,60],[15,25];
(3)合并区间,得到[1,5],[10,25],[30,60].说明:区间[1,5]和[2,3]合并为[1,5],区间[10,14]和[15,25]合并为[10,25],区间[10,25]和[15,25]合并为[10,25],因此合并后的结果为:[1,5],[10,25],[30,60]三个区间。
程序功能如下:单击“读数据库”按钮Command1,程序从数据库读取数据,输出在文本框Text1中;单击“开始处理”按钮Command2,程序进行区间排序,并进行区间合并操作,操作后的结果输出在文本框Text2中。程序运行结果如图所示。

实现上述功能的VB程序如下,请回答下列问题:
(1)PrivateSubCommand1_CIick ( )中的Click( ) 是CC(单选,填字母:A对象名、B属性名、C事件名、D事件处理过程名)
(2)从数据库中读入的区间为[1,10],[15,20],[6,18],[25,30],[31,200],则合并操作后的区间为[1,20],[25,200][1,20],[25,200]。
(3)请在横线处填入合适的代码。
Dima(lTo100)AsInteger′数组a存储合并前的区间
Dimb(lTo100)AsInteger′数组b存储合并后的区间
DimnAsInteger′n表示区间个数
PrivateSubCommand1_Click ( )
Dims1AsString,iAsInteger
'读取数据,并存储到数组a中,并输出在文本框Text1中,代码略
EndSub
PrivateSubCommand2_Click ( )
Dims2AsString,iAsInteger,jAsInteger,kAsInteger
DimnAsInteger,tAsInteger,xAsInteger
Fori=1Ton-1
Forj=1To2*n-2*iStep2
If①a(j)>a(j+2)a(j)>a(j+2)Then
t=a(j):a(j)=a(j+2):a(j+2)=t
t=a(j+1):a(j+1)=a(j+3):a(j+3)=t
EndIf
Nextj
Nexti
k=2
b(1)=a(1):b(2)=a(2)
i=2:j=3
DoWhilej<=2*n
Ifb(i)>=a(j)Then
Ifb(i)<=a(j+1)Then ②b(k)=a(j+1)b(k)=a(j+1)
ElseIfb(i)+1=a(j)Then
b(k)=a(j+l)
Else
k=k+1:③b(k)=a(j)b(k)=a(j)
k=k+1:b(k)=a(j+1)
i=i+2
EndIf
j=j+2
Loop
Forx=1Tok-2Step2
s2=s2&″[″&b(x)&″,″&b(x+1)&″]″&″,″
Nextx
s2=s2&″[″&b(x)&″,″&b(x+1)&″]″
Text2.text=s2
EndSub
【考点】冒泡排序算法及其实现.
【答案】C;[1,20],[25,200];a(j)>a(j+2);b(k)=a(j+1);b(k)=a(j)
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/6/27 10:35:59组卷:8引用:1难度:0.3
相似题
-
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