编程某数组已按照从大到小的顺序排列其数组元素为 { 98.87 , 81.79 . 52.49 , 33.21 , 18.6 } 编程使用二分查找法查找 81 是否在该数组中若在该数组中输出 81 在该数组中的第 X 位 ( X 为数组中的第几个数 ) 否则输出 81 不在数组中
时间: 2024-05-01 21:17:42 浏览: 12
你好!
对于您的问题,我可以回答。根据您提供的数组,可以使用二分查找法查找 81 是否在该数组中。首先,我们将数组按照从大到小的顺序排列: { 98.87 , 81.79 , 52.49 , 33.21 , 18.6 }。接着,我们可以实现以下代码实现二分查找法:
```python
def binary_search(arr, target):
left = 0
right = len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] > target:
left = mid + 1
else:
right = mid - 1
return -1
arr = [ 98.87 , 81.79 , 52.49 , 33.21 , 18.6 ]
target = 81
result = binary_search(arr, target)
if result == -1:
print("81不在数组中")
else:
print("81在该数组中的第", result + 1, "位")
```
由于该数组已经按照从大到小的顺序排列,所以在实现二分查找法时,我们要注意判断中间元素与目标元素的大小关系。如果中间元素大于目标元素,则目标元素可能在左区间;否则,目标元素可能在右区间。重复此操作,直到找到目标元素或者左右区间交叉。最终,如果找到目标元素,我们输出它在数组中的位置(也就是数组中的第几个数),否则输出“81不在数组中”。
希望我的回答能帮助到您!
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)