python二分查找 数组倒序排列
时间: 2024-03-13 14:40:43 浏览: 35
Python中的二分查找算法可以用于在有序数组中查找指定元素的位置。对于倒序排列的数组,我们可以先将数组反转,再进行二分查找。
以下是Python中实现二分查找的代码示例```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:
right = mid - 1
else:
left = mid + 1
return -1
# 示例使用
arr = [9, 7, 5, 3, 1]
target = 5
# 反转数组
arr.reverse()
# 调用二分查找函数
result = binary_search(arr, target)
if result != -1:
print("元素在数组中的索引为:", result)
else:
print("元素不在数组中")
```
相关问题
python 一维数组倒序
可以使用Python内置的reverse()函数来倒序一个一维数组。
例如:
```python
arr = [1, 2, 3, 4, 5]
arr.reverse()
print(arr)
```
输出:
```
[5, 4, 3, 2, 1]
```
另外,还可以使用切片来实现一维数组的倒序。
例如:
```python
arr = [1, 2, 3, 4, 5]
arr = arr[::-1]
print(arr)
```
输出:
```
[5, 4, 3, 2, 1]
```
python np数组倒序
以下是使用numpy倒序排列数组的例子:
```python
import numpy as np
# 创建一个numpy数组
arr = np.array([1, 2, 3, 4, 5])
# 使用[::-1]进行倒序排列
arr_reverse = arr[::-1]
print(arr_reverse) # 输出:[5 4 3 2 1]
```