小明編寫了一個有關整數(shù)閉區(qū)間合并操作的VB程序:從數(shù)據(jù)庫讀取閉區(qū)間數(shù)據(jù)(左端點和右端點),存儲在數(shù)組a中,按區(qū)間數(shù)據(jù)左端點升序排序,然后進行合并操作,操作結果存儲在數(shù)組b中。
例如,讀取的數(shù)據(jù)為2、3、15、25、10、14、1、5、30、60、15、25,過程是:
(1)設置區(qū)間信息為[2,3],[15,25],[10,14],[1,5],[30,60],[15,25];
(2)按區(qū)間左端點升序排序,得到J區(qū)間信息為[1,5],[2,3],[10,14],[15,25],[15,25],[30,60],[15,25];
(3)合并區(qū)間,得到[1,5],[10,25],[30,60].說明:區(qū)間[1,5]和[2,3]合并為[1,5],區(qū)間[10,14]和[15,25]合并為[10,25],區(qū)間[10,25]和[15,25]合并為[10,25],因此合并后的結果為:[1,5],[10,25],[30,60]三個區(qū)間。
程序功能如下:單擊“讀數(shù)據(jù)庫”按鈕Command1,程序從數(shù)據(jù)庫讀取數(shù)據(jù),輸出在文本框Text1中;單擊“開始處理”按鈕Command2,程序進行區(qū)間排序,并進行區(qū)間合并操作,操作后的結果輸出在文本框Text2中。程序運行結果如圖所示。
實現(xiàn)上述功能的VB程序如下,請回答下列問題:
(1)PrivateSubCommand1_CIick ( )中的Click( ?。?是CC(單選,填字母:A對象名、B屬性名、C事件名、D事件處理過程名)
(2)從數(shù)據(jù)庫中讀入的區(qū)間為[1,10],[15,20],[6,18],[25,30],[31,200],則合并操作后的區(qū)間為[1,20],[25,200][1,20],[25,200]。
(3)請在橫線處填入合適的代碼。
Dima(lTo100)AsInteger′數(shù)組a存儲合并前的區(qū)間
Dimb(lTo100)AsInteger′數(shù)組b存儲合并后的區(qū)間
DimnAsInteger′n表示區(qū)間個數(shù)
PrivateSubCommand1_Click ( )
Dims1AsString,iAsInteger
'讀取數(shù)據(jù),并存儲到數(shù)組a中,并輸出在文本框Text1中,代碼略
EndSub
PrivateSubCommand2_Click ( ?。?br />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?、?!--BA-->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
【考點】冒泡排序算法及其實現(xiàn).
【答案】C;[1,20],[25,200];a(j)>a(j+2);b(k)=a(j+1);b(k)=a(j)
【解答】
【點評】
聲明:本試題解析著作權屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:8引用:1難度:0.3
相似題
-
1.有如下 Python 程序段:
運行后列表中的值可能是( ?。?/h2>發(fā)布:2024/12/18 21:0:2組卷:5引用:3難度:0.3 -
2.用VB編寫的函數(shù)bubble_sort是一個用冒泡方法實現(xiàn)排序的函數(shù),其調用時需要三個參數(shù):布爾類型參數(shù)sx來確定是升序還是降序,sx為True時為升序,否則為降序;整數(shù)型數(shù)組a
比如有一個整數(shù)型數(shù)組a(1 to 10)需要降序排序,可以直接這樣調用:
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ù)進行升序排序,第一趟排序結束后的順序為2、6、9、3、7,則原始數(shù)據(jù)順序不可能的是( ?。?/h2>
發(fā)布:2024/12/18 23:0:1組卷:10引用:1難度:0.5
把好題分享給你的好友吧~~