我有一个列表,我想二进制搜索键(数字)。
我的代码如下,但我不知道如何处理代码上的粗体文字:
(该怎么办?是其他功能吗?int imid = midpoint(imin, imax)
)
List = []
x = 1
#Import 20 numbers to list
for i in range (0,20):
List.append (i)
print (List)
key = input("\nGive me a number for key: ")
def midpoint(imin, imax):
return point((imin+imax)/2)
def binary_search(List,key,imin,imax,point):
while (imax >= imin):
int imid = midpoint(imin, imax)
if(List[imid] == key):
return imid;
elif (List[imid] < key):
imin = imid + 1;
else:
imax = imid - 1;
return KEY_NOT_FOUND;
print (binary_search(key))
midpoint(imin, imax)
binary_search(List,key,imin,imax,point)
答案 0 :(得分:0)
它似乎没有为你做任何事情;删除对中点的调用,然后指向
def binary_search(List,key,imin,imax,point):
while (imax >= imin):
imid = (imin + imax) / 2
(但是,您的代码存在一些问题,并且只会对该更改起作用;
List
的列表,然后尝试附加到名为myList
List
,一个键和三个未初始化的变量调用binary_search