![]() 問(wèn)題:使用二分法的方式在列表中尋找指定的數(shù)據(jù) 代碼: ''' 使用二分法在有序列表中找出指定的值'''def BinarySearch(arr, key): # 記錄數(shù)組的最高位和最低位 min = 0 max = len(arr) - 1 if key in arr: # 建立一個(gè)死循環(huán),知道找到key while True: # 得到中位數(shù) center = int((min + max) / 2) # key在數(shù)組左邊 if arr[center] > key: max = center - 1 # key在數(shù)組右邊 elif arr[center] < key: min=center+1 #key在數(shù)組中間 elif arr[center]==key: print(str(key) + '在數(shù)組里面的第' + str(center) + '個(gè)位置') return arr[center] else: print('沒(méi)有該數(shù)字!')if __name__ == '__main__': arr = [1, 6, 9, 15, 26, 38, 49, 57, 63, 77, 81, 93] while True: key = input('請(qǐng)輸入你要查找的數(shù)字:') if key == ' ': print('謝謝使用!') break else: BinarySearch(arr, int(key)) 運(yùn)行結(jié)果:
|
|