.线性表的查找 (1)输入一个整数,利用顺序查找法在查找表中查找该整数是否存在。若查找成功,返回该整数在表中的位置;查找失败则返回0。 (2)输入一个整数,利用折半查找法在有序表中查找该整数是否存在。若查找
时间: 2023-12-06 13:44:32 浏览: 117
C++实现顺序表的常用操作(插入删出查找输出)
5星 · 资源好评率100%
成功,返回该整数在表中的位置;查找失败则返回0。
顺序查找法的实现:
```
int Sequential_Search(int* a, int n, int key)
{
int i;
for (i = 0; i < n; i++) {
if (a[i] == key) {
return i+1; // 返回位置
}
}
return 0; // 查找失败
}
```
折半查找法的实现:
```
int Binary_Search(int* a, int n, int key)
{
int low = 0, high = n-1, mid;
while (low <= high) {
mid = (low + high) / 2;
if (a[mid] == key) {
return mid+1; // 返回位置
} else if (a[mid] > key) {
high = mid - 1;
} else {
low = mid + 1;
}
}
return 0; // 查找失败
}
```
其中,`a` 是一个指向数组的指针,`n` 是数组中元素的数量,`key` 是要查找的整数。在查找成功时,返回该整数在表中的位置;查找失败时,返回0。
阅读全文