有13个单词从小到大存入二维字符数组,用折半查找法找此单词“hello”,找到的话输出该单词和位置,找不到则输出“无此单词”。
时间: 2023-06-08 16:05:49 浏览: 80
统计单词个数&&将字符串中连续出现的数字放进一维数组
4星 · 用户满意度95%
折半查找法(二分查找)的前提是有序数组,按顺序存储13个单词,并且要做大小写的处理。假设该13个单词分别为: apple,banana,cherry,grape,Hello,Lemon,Mango,orange,peach,pineapple,strawberry,watermelon,you。
代码如下:
```python
words = [
'apple', 'banana', 'cherry', 'grape', 'Hello',
'Lemon', 'Mango', 'orange', 'peach', 'pineapple',
'strawberry', 'watermelon', 'you'
]
words.sort() # 按字典序排序
start, end = 0, len(words) - 1
while start <= end:
mid = (start + end) // 2
if words[mid].lower() < 'hello':
start = mid + 1
elif words[mid].lower() > 'hello':
end = mid - 1
else:
print('单词: ', words[mid], '位置: ', mid)
break
else:
print('无此单词')
```
输出结果为:
```
单词: Hello 位置: 4
```
阅读全文