设计一个算法,输出在顺序表{1,2,3,4,5,6,7,8,9,10}中采用二分查找法查找关键字9的代码
时间: 2024-04-30 16:24:45 浏览: 30
以下是采用二分查找法查找关键字9的代码:
```
int binarySearch(int arr[], int left, int right, int key) {
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == key) {
return mid;
}
else if (arr[mid] < key) {
left = mid + 1;
}
else {
right = mid - 1;
}
}
return -1;
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int n = sizeof(arr) / sizeof(arr[0]);
int key = 9;
int index = binarySearch(arr, 0, n - 1, key);
if (index != -1) {
cout << "The key is found at index: " << index << endl;
}
else {
cout << "The key is not found!" << endl;
}
return 0;
}
```
该算法的时间复杂度为 $O(\log n)$,其中 $n$ 是顺序表的长度。