首页 > 其他 > 详细

二分查找。

时间:2020-07-13 11:56:54      阅读:47      评论:0      收藏:0      [点我收藏+]
li = [i for i in range(1,101)]
start_index = 0
end_index = len(li)-1
num = int(input(您要找的数是:)
while start_index <= end_index :
    mid_index = (start_index + end_index)//2
    if li[mid_index] ==38 :
        print(您找到了)
        break
    elif li[mid_index] > 38:
        end_index = mid_index -1
    elif li[mid_index]< 38:
        start_index = mid_index +1
else:
    print(很遗憾没有找到)
#函数改写
def binarysearch(l1,num):
    start_index = 0
    end_index = len(l1)-1
    while start_index<=end_index:
        mid_index = (start_index+end_index)//2
        if l1[mid_index] == num:
            return mid_index
        elif l1[mid_index] > num:
            end_index = mid_index - 1
        else:
            start_index = mid_index+1

    return -1

 

二分查找。

原文:https://www.cnblogs.com/kaiyaoweixiao/p/13292272.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!