如图10所示的流程图是一种查找算法,用该算法在数组d{15,28,35,37,42,56,78,82,92,98}中查找92,依次被查到的元素值是( )。

admin2018-08-07  35

问题 如图10所示的流程图是一种查找算法,用该算法在数组d{15,28,35,37,42,56,78,82,92,98}中查找92,依次被查到的元素值是(  )。

选项 A、42,82,92
B、56,82,92
C、42,78,82,92
D、56,78,82,92

答案A

解析 要找的数是92,所以流程图中的key=92。数组中有10个数,所以n=10,p2=10一1=9。第一次执行m=(p1+p2)/2后,m=4,d(4)的值为42;42小于92,所以执行p1=m+1=5,p1<p2,再次执行m=(p1+p2)/2。第二次执行m=(p1+p2)/2后,m=7,d(7)的值为82;82小于92,所以执行p1=m+1=8,p1<p2,再次执行m=(p1+p2)/2。第三次执行m=(p1+p2),2后,m=8,d(8)的值为92;d(8)=key,查找成功。所以依次被查到的元素值是42,82,92。
转载请注明原文地址:https://kaotiyun.com/show/gqGv777K
0

最新回复(0)