当前位置:
章节挑题
请展开查看知识点列表
>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,其出栈序列为sl,s2,s3,s4,s5。若s2是3,则s1不可能是( )
发布:2024/12/10 20:0:2组卷:15引用:4难度: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组卷:2引用:1难度:0.628.下列关于信息系统中数据的说法,正确的是( )
发布:2024/12/8 7:0:1组卷:10引用:4难度:0.529.以下有关栈和队列的说法正确的是( )
发布:2024/12/8 7:0:1组卷:12引用:4难度:0.530.在一个包含n(n>1)个节点的单链表上,没有头和尾两个指针,下列操作需要遍历多个节点的是( )
发布:2024/12/7 23:30:1组卷:4引用:1难度:0.5
