在Excel中進(jìn)行數(shù)據(jù)排序,先按主關(guān)鍵字進(jìn)行排序,主關(guān)鍵字相同的記錄再按次關(guān)鍵字進(jìn)行排序。編寫一個(gè)VB程序,功能如下:在文本框Text1中隨機(jī)產(chǎn)生100個(gè)兩位數(shù)的正整數(shù)作為主關(guān)鍵字,在文本框Text2中隨機(jī)產(chǎn)生100個(gè)兩位數(shù)的正整數(shù)作為次關(guān)鍵字,單擊“排序”按鈕Command1,在列表框List1中顯示排序后的結(jié)果(主、次關(guān)鍵字均為降序)。程序運(yùn)行界面如圖所示。
(1)觀察代碼,該排序過(guò)程中,交換次數(shù)最多能達(dá)到
4950
4950
次。
(2)實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)?jiān)跈M線處填入正確語(yǔ)句。
Dim z(1 To 100)As Integer
Dim c(1 To 100)As Integer
‘文本框獲取主、次數(shù)組數(shù)據(jù)代碼略
Private Sub Command1_Click ( )
Dim i As Integer,j As Integer
i=1
Do While i<=99
j=100
Do While ①
j>=i+1
j>=i+1
If z(j)>z(j-1)Or ②
z(j)=z(j-1)andc(j)>c(j-1)
z(j)=z(j-1)andc(j)>c(j-1)
Then
t=z(j):z(j)=z(j-1):z(j-1)=t
t=c(j):c(j)=c(j-1):c(j-1)=t
End If
j=j-1
Loop
③
i=i+1
i=i+1
Loop
List1.AddItem““+“主“+““+“次“
For i=1 To 100
List1.AddItem Str(z(i))+Str(c(i))
Next i
End Sub