python实现折半查找_python3实现折半查找(win7)

4

查找函数,为看的较着一点,加了注释

def BinarySearch(listNum, aimNum):    lowpos = 0    highpos = len(listNum) - 1    print("当前头坐标:lowpos = {}, 从头至尾坐标 highpos={}".format(lowpos, highpos))    i = 0    while(1):        i = i + 1        print("第 %d 趟"%i)        if(lowpos <= highpos):            midpos = lowpos + (highpos - lowpos) // 2            midNum = listNum[midpos]            print("  ", end='')            print(listNum, aimNum)            print("当前头坐标lowpos = {},从头至尾坐标highpos={},新中值坐标midpos = {},新中值midNum={}".format(lowpos, highpos, midpos , midNum))            if midNum == aimNum:                print(listNum, aimNum)                print("找到! 当前头坐标lowpos = {},从头至尾坐标highpos={},新中值坐标midpos = {},新中值midNum={}".format(lowpos, highpos, midpos,midNum))                return midpos            elif midNum < aimNum:                lowpos = midpos + 1                print("  ", end='')                print(listNum, aimNum)                print("  新中值小于方针值 头坐标后移1:当前头坐标lowpos = {},从头至尾坐标highpos={},新中值坐标midpos = {},新中值midNum={}".format(lowpos, highpos, midpos,midNum))            else:                highpos = midpos - 1                print("  ", end='')                print(listNum, aimNum)                print("  新中值小于方针值 从头至尾坐标前移1:当前头坐标lowpos = {},从头至尾坐标highpos={},新中值坐标midpos = {},新中值midNum={}".format(lowpos, highpos, midpos,midNum))    return None

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值