单选题

用分治法查找列表中是否存在指定的数字。给定的列表已升序排序。请补全程序代码?(?)

#在列表cards中查找数字x,返回下标值,若未找到,返回-1def serch(cards=list,x=int):    a=0             #定义左端点下标    b=len(cards)-1  #定义右端点下标    #逐级分割查找范围,缩小查找规模    while a<=b:        m=(a b)//2       #定义中点下标        if x==cards[m]:  #x刚好等于中点值            return m        elif      ①     : #x<中点值,说明x位于左段位置            b=m-1        #重新定义右端点        else:            a=m 1        #重新定义左端点    return -1            #未找到,返回-1#主程序#在列表d中查找用户输入的数字rd=[1,6,16,24,44,46,79,80,81,82,87,102,134,151,156,188,196,202,212,226,228,248,272,274,286,306,321,351,363]print(d)    #显示一下列表dr=int(input("请输入要查找的数字:"))y=serch(d,r)  #调用子函数,d,r是实参if y>=0:    print("已找到",r,",它是列表中第",y 1,"个数字")else:    print("未找到",r)


A.

x

B.

x

C.

x>cards[m-1]

D.

x>cards[m]

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部