當前位置:
章節挑題
請展開查看知識點列表
>21.(一)順序查找數據:我們假定被查找的數據存儲在有n個元素的數組變量d中,要尋找的一個特定的數據(這個數據稱為查找鍵)已經存儲在變量key中.
下面是順序查找算法的輸入輸出說明.
輸入:查找鍵(設在變量key中). 被查找的數據(設在數組變量d中).
輸出:若找到,輸出值為key的數據所在的數組元素的下標,記為i;
若未找到,輸出結果為提示字符串:“找不到“.
當在n=8個元素的數組里順序查找數據的示意圖如下:
總結順序查找數據結果判斷條件:
(1)當找到時,肯定i<=8,n個數據時,肯定i<=n,i即為找到的數組元素下標,d(i)=key;
(2)當“找不到“時,i=9>8了;n個數據時,當i=n+1時,表示“找不到“.
順序查找的主程序段如下:
Private Sub 順序查找_Click( )
n個數據放入d(1)到d(n)中
Key=Val(Text1.Text):i=1‘變量Key從文本框Text1取的數要查找的數;
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的條件 ①是
(A)Key<>d(i) (B)i<=n
(C))Key<>d(i) And i<=n (D)Key<>d(i) or i<=n.發布:2024/12/11 21:0:1組卷:19引用:3難度:0.522.字符串s=“abcde”,n是字符串s的長度,則可以取出字符“c”的表達式是( )
發布:2024/12/11 15:30:1組卷:1引用:1難度:0.523.有如下Python程序段:
a=[99,85,74,68,53,42,34,27,20,13]
key=int(input(“請輸入一個整數:”))
i,j,k,c,flag=0,9,0,“N”,False
while i<=j and flag==False:
m=(i+j+1)//2
k=k+1
if key==a[m]:
c=“Y“
flag=True
if key>a[m]:
j=m-1
else:
i=m+1
print(c,k)
執行該程序段后,下列說法正確的是( )發布:2024/12/11 3:30:1組卷:9引用:4難度:0.424.一個棧的入棧序列為1,2,3,4,5,其出棧序列為s1,s2,s3,s4,s5。若s2是3,則s1不可能是( )
發布:2024/12/10 20:0:2組卷:16引用:5難度:0.525.某算法的流程圖如圖所示,輸入進制 k(k>=2 且k<=16)以及十進制數 n 后,可輸出為n 對應的 k、進制的數,該程序運行后,下列說法正確的是( )
發布:2024/12/10 14:30:1組卷:11引用:8難度:0.426.某 Python程序如下:
import random
n=random.randint(1,4);a=[7,2,7,3,9,4]
for i in range(1,n):
for j in range(0,6-i):
if a[j]<a[j+1]:a[j],a[j+1]=a[j+1],a[j]
執行該程序段后,數組a中的元素不可能為( )發布:2024/12/10 9:0:2組卷:2引用:1難度:0.527.某算法的python程序段如下:
from random import randint
a=[23,21,19,18,16,15,14,11]
key=randint(0,3)*2+13
i,j,c=0,len(a)-1,0
while i<=j:
m=(i+j+1)//2
if a[m]>=key:
i=m+1
else:
j=m-1
c+=1
該程序段執行后,下列說法不正確的是( )發布:2024/12/10 7:30:1組卷:3引用:1難度:0.628.下列關于信息系統中數據的說法,正確的是( )
發布:2024/12/8 7:0:1組卷:10引用:6難度:0.529.以下有關棧和隊列的說法正確的是( )
發布:2024/12/8 7:0:1組卷:15引用:4難度:0.530.在一個包含n(n>1)個節點的單鏈表上,沒有頭和尾兩個指針,下列操作需要遍歷多個節點的是( )
發布:2024/12/7 23:30:1組卷:5引用:1難度:0.5

