有15个数按升序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值,如果该数不在数组中,则输出“无此数”,请用语言编程。
时间: 2023-05-12 09:04:16 浏览: 54
以下是使用Python语言编写的代码:
def binary_search(arr, x):
low = 0
high = len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] < x:
low = mid + 1
elif arr[mid] > x:
high = mid - 1
else:
return mid
return -1
arr = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29]
x = int(input("请输入一个数:"))
result = binary_search(arr, x)
if result == -1:
print("无此数")
else:
print("该数是数组中第", result+1, "个元素的值")
相关问题
有15个数按升序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值,如果该数不在数组中,则输出“无此数”,请编程。
以下是用 Python 实现的代码:
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid + 1
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return "无此数"
arr = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29]
target = int(input("请输入要查找的数:"))
result = binary_search(arr, target)
print(result)
如果输入的数在数组中,则输出该数在数组中的位置(从1开始计数),否则输出“无此数”。
有15个数按小由到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数在数组中的下标。
折半查找法是一种二分查找法,适用于有序数组。在数组中选择中间的数与要查找的数进行比较,如果相等,则查找成功,返回下标;如果要查找的数小于中间数,则在数组的左半部分继续查找;如果要查找的数大于中间数,则在数组的右半部分继续查找,直到找到该数为止。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)