二分查找--python

xiaoxiao2021-02-28  112

# -*- coding:utf-8 -*- # file:pyBinarySearch.py # def BinarySearch(l,key):         low = 0         hight = len(l) - 1         i = 0         while ( low <= hight ):                 i=i+1                 mid = (hight+low)//2                 if (l[mid]<key):                         low=mid+1                 elif (l[mid]>key):                         hight=mid-1                 else:                         print('use %d time(s)' %i)                         return mid         return -1 if __name__ == '__main__':         l=[1,5,6,9,10,51,62,65,70]         print(BinarySearch(l,5))         print(BinarySearch(l,10))         print(BinarySearch(l,65))

        print(BinarySearch(l,70))

本代码取自python宝典。

运行脚本输出如下:

use 2 time(s) 1 use 1 time(s) 4 use 3 time(s) 7 use 4 time(s) 8

转载请注明原文地址: https://www.6miu.com/read-80111.html

最新回复(0)