键盘上任意顺序输入15个整型数据,将数组按降序排列。在读入一个整数m ,使用折半查找方法,查找m是否在数组中,在输出其位置;不在输出“no\"。
时间: 2023-04-25 17:05:39 浏览: 246
10 查找_wantms3_顺序查找_分块查找_数据结构_折半查找分块查找_
可以使用以下代码实现:
```python
# 输入15个整数
nums = list(map(int, input("请输入15个整数,用空格隔开:").split()))
# 将数组按降序排列
nums.sort(reverse=True)
# 输入要查找的整数
m = int(input("请输入要查找的整数:"))
# 折半查找
left, right = , len(nums) - 1
while left <= right:
mid = (left + right) // 2
if nums[mid] == m:
print("要查找的整数在数组中的位置为:", mid)
break
elif nums[mid] > m:
left = mid + 1
else:
right = mid - 1
else:
print("no")
```
注意,折半查找要求数组已经按照降序排列。如果数组没有排好序,可以使用`sorted()`函数进行排序,例如:
```python
nums = sorted(nums, reverse=True)
```
阅读全文