羅列對分查找中可能查到的中點。對分查找是我們常用的查找方式。在對分查找過程中,計算中點是非常重要的步驟。以下程序實現了“羅列對分查找中可能查到的中點”的功能。算法如下:用戶在文本框Text1中輸入模擬對分查找數據的個數n,單擊“產生隨機數并升序排列”按鈕,在List1中顯示n個不重復且已經升序排列的數(范圍[1,100]),單擊“可能查到的中點”,在list2中分行顯示各個可能查到的中點 (1)實現上述功能的VB程序如下,請在橫線處填入合適代碼。 Private Sub Command1_Click ( ) Dim i As Integer Randomize For i=1 To 100 f(i)=False Next i n=Val(Text1.Text) For i=1 To n t=Int(Rnd*100+1) Do While f(t)=True
t=Int(Rnd*100+1)
t=Int(Rnd*100+1)
Loop f(t)=True Next i j=0 For i=1 To 100 If
f(i)=True
f(i)=True
Then j=j+1 a(j)=i List1.AddItem Str(i) End If Next i End Sub Private Sub Command2_Click ( ) Dim b(1 To 100)As Integer,k As Integer,c As Integer,max As Integer Dim s As String Dim j As Integer n=Val(Text1.Text) max=0 For k=1 To n i=1:j=n:c=0 Do While i<=j m=(i+j)\2:c=c+1 If c>max Then max=c If m=k Then b(m)=c:Exit Do If m<k Then i=m+1 Else j=m-1 Loop Next k For i=1 To max s=““ For j=1 To n If
b(j)=i
b(j)=i
Then s=s+Str(a(j)) Else s=s+““ End If Next j List2.AddItem s Next i End Sub (2)當數據是11,22,33,44,55,66,77,88,99時,第3行第3個數為