每次获得“a”为“无”。如果元素(即键)存在于列表中并返回,则递增c的值。但idk为什么我没有得到答案。请注意:该列表已经排序二分查找递归函数不起作用
list=[1,2,2,4,6,7,8,8,9]
def binarysearch(list,key,s,e,c):
if(s<=e):
mid=int((s+e)/2)
if (key<list[mid]):
binarysearch(list,key,s,mid,c)
elif list[mid]==key:
c=c+1
return c
else:
binarysearch(list,key,mid+1,e,c)
else:
return c
key=2
a=binarysearch(list,key,0,len(list)-1,0)
print(a)
'c'是什么意思? – dmg 2015-02-06 10:15:13
您是否尝试过使用较短的列表? – 2015-02-06 10:18:07
@dmg c是一个计数器,如果在列表中找到了密钥,它就会增加,所以在这种情况下,根据我的情况,c的值应该是1,但我没有收到任何 – 2015-02-06 13:06:33