函数实现冒泡排序后折半查找
时间: 2023-08-03 12:32:06 浏览: 102
冒泡排序折半查找练习
好的,下面是函数实现冒泡排序后折半查找的示例代码:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
def binary_search(arr, target):
left, right = 0, 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 = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)
print("排序后的数组:", arr)
target = 22
result = binary_search(arr, target)
if result != -1:
print(f"元素 {target} 在数组中的索引为 {result}")
else:
print("元素不在数组中")
```
这个函数首先使用冒泡排序算法对输入的数组进行排序,然后使用折半查找算法在排好序的数组中查找指定元素。如果查找成功,返回该元素在数组中的索引;否则返回 -1。
阅读全文