1. 输出在顺序表(3,6,2,10,1,8,5,7,4,9)中采用顺序查找方法查找关键字5的过程; 2. 输出在顺序表(1,2,3,4,5,6,7,8,9,10)中采用折半查找方法查找关键字9的过程.代码cyuyan
时间: 2024-05-16 21:16:08 浏览: 90
哈希、顺序、折半查找的算法代码
1. 顺序查找代码示例:
```
#include <stdio.h>
int main() {
int a[] = {3, 6, 2, 10, 1, 8, 5, 7, 4, 9};
int n = sizeof(a) / sizeof(int); // 数组长度
int key = 5; // 待查找的关键字
int i;
for (i = 0; i < n; i++) {
if (a[i] == key) {
printf("在第%d个位置找到了%d\n", i, key);
break;
}
}
if (i == n) {
printf("未找到%d\n", key);
}
return 0;
}
```
输出结果:
```
在第6个位置找到了5
```
2. 折半查找代码示例:
```
#include <stdio.h>
int main() {
int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int n = sizeof(a) / sizeof(int); // 数组长度
int key = 9; // 待查找的关键字
int left = 0, right = n - 1, mid;
while (left <= right) {
mid = (left + right) / 2; // 计算中间位置
if (a[mid] == key) {
printf("在第%d个位置找到了%d\n", mid, key);
break;
} else if (a[mid] > key) {
right = mid - 1; // 在左半部分查找
} else {
left = mid + 1; // 在右半部分查找
}
}
if (left > right) {
printf("未找到%d\n", key);
}
return 0;
}
```
输出结果:
```
在第8个位置找到了9
```
阅读全文