假设有2个整型数组:
list1[] = { 12, 8, 3, 5, 9, 2, 1, 0, 15, 17 };
list2[] = { 2, 3, 6, 9, 10, 12, 15, 17, 19, 27 };
首先,分2行输出这2个数组中的元素;
然后,提示用户输入要查找的整数,存放在变量n中;
接着,使用顺序查找法在list1中查找n,如果找到,输出其位置,如果没有,则提示用户:“该数值在list1中不存在”;
最后,使用二分查找法在list2中查找n,如果找到,输出其位置,如果没有,则提示用户:“该数值在list2中不存在”
如何使用二分查找法在list2中查找n,则提示用户:“该数值在list2中不存在?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
threenewbee 2023-04-27 12:38关注list1 = [12, 8, 3, 5, 9, 2, 1, 0, 15, 17] list2 = [2, 3, 6, 9, 10, 12, 15, 17, 19, 27] # 输出两个数组的元素 print("list1: ", end="") for i in list1: print(i, end=" ") print() print("list2: ", end="") for i in list2: print(i, end=" ") print() # 提示用户输入要查找的整数 n = int(input("请输入要查找的整数:")) # 在list1中使用顺序查找法查找n position = -1 for i in range(len(list1)): if list1[i] == n: position = i break if position != -1: print("在list1中的位置为:", position) else: print("该数值在list1中不存在") # 在list2中使用二分查找法查找n left, right = 0, len(list2) - 1 position = -1 while left <= right: mid = (left + right) // 2 if list2[mid] == n: position = mid break elif list2[mid] < n: left = mid + 1 else: right = mid - 1 if position != -1: print("在list2中的位置为:", position) else: print("该数值在list2中不存在")本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 1无用