(一)順序查找數(shù)據(jù):我們假定被查找的數(shù)據(jù)存儲(chǔ)在有n個(gè)元素的數(shù)組變量d中,要尋找的一個(gè)特定的數(shù)據(jù)(這個(gè)數(shù)據(jù)稱為查找鍵)已經(jīng)存儲(chǔ)在變量key中.
下面是順序查找算法的輸入輸出說(shuō)明.
輸入:查找鍵(設(shè)在變量key中). 被查找的數(shù)據(jù)(設(shè)在數(shù)組變量d中).
輸出:若找到,輸出值為key的數(shù)據(jù)所在的數(shù)組元素的下標(biāo),記為i;
若未找到,輸出結(jié)果為提示字符串:“找不到“.
當(dāng)在n=8個(gè)元素的數(shù)組里順序查找數(shù)據(jù)的示意圖如下:
總結(jié)順序查找數(shù)據(jù)結(jié)果判斷條件:
(1)當(dāng)找到時(shí),肯定i<=8,n個(gè)數(shù)據(jù)時(shí),肯定i<=n,i即為找到的數(shù)組元素下標(biāo),d(i)=key;
(2)當(dāng)“找不到“時(shí),i=9>8了;n個(gè)數(shù)據(jù)時(shí),當(dāng)i=n+1時(shí),表示“找不到“.
順序查找的主程序段如下:
Private Sub 順序查找_Click( )
n個(gè)數(shù)據(jù)放入d(1)到d(n)中
Key=Val(Text1.Text):i=1‘變量Key從文本框Text1取的數(shù)要查找的數(shù);
Do While ①
i=i+1
Loop
If i<=n Then
Text2.Text=“在d(“+Str(i)+“)中“‘例如在文本框Text2顯示:“在d(6)中”
Else
Text2.Text=“找不到“
End If
End Sub
以上程序Do While的條件 ①是CC
(A)Key<>d(i) (B)i<=n
(C))Key<>d(i) And i<=n (D)Key<>d(i) or i<=n.
【考點(diǎn)】查找算法及其程序?qū)崿F(xiàn).
【答案】C
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書(shū)面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/12/11 21:0:1組卷:19引用:3難度:0.5
相似題
-
1.某對(duì)分查找算法的VB程序段如下:
數(shù)組元素a(1)到a(10)的值依次為“12,15,18,20,25,39,47,88,90,99”,經(jīng)過(guò)上述代碼查找后,下列表達(dá)式正確的是( )A.j<m-1 B.j=m C.i>m+1 D.i=m 發(fā)布:2024/12/20 16:0:2組卷:5引用:2難度:0.5 -
2.某數(shù)組d中的數(shù)據(jù)依次是[8,12,15,28,28,32,36,39],要查找某個(gè)元素是否在數(shù)組中,下列說(shuō)法正確的是( )
A.?dāng)?shù)組中有相同數(shù)據(jù)28,所以只能使用順序查找 B.使用二分查找數(shù)據(jù)時(shí),第1次查找的數(shù)據(jù)是d[3] C.使用二分查找任何查找鍵時(shí),查找的次數(shù)最少3次 D.使用二分查找數(shù)據(jù)時(shí),第2次查找的數(shù)據(jù)可能是d[1]或d[6] 發(fā)布:2024/12/20 0:0:1組卷:3引用:1難度:0.7 -
3.有如下對(duì)分查找VB程序段:
若數(shù)組元素a(1)~a(10)的值依次為“5,9,13,18,22,27,31,39,40,44”,運(yùn)行程序后,文本
框Text2中顯示的內(nèi)容為3,則輸入的key值不可能為( ?。?/h2>A.5 B.13 C.39 D.40 發(fā)布:2024/12/20 20:0:2組卷:3引用:2難度:0.4
把好題分享給你的好友吧~~