实现顺序查找表的查找算法
时间: 2024-05-01 11:20:09 浏览: 131
顺序表查找的实现
顺序查找表的查找算法,也叫线性查找,是一种比较简单的查找算法。它的基本思想是:从表的一端开始,依次将每个元素与给定的关键字进行比较,直到找到相等的元素或搜索完整个表为止。
具体实现步骤如下:
1. 从表的第一个元素开始,依次对每个元素进行比较。如果该元素的关键字与给定的关键字相等,则查找成功,返回该元素的位置;如果该元素的关键字大于给定的关键字,则查找失败,返回 “查找失败” 信息;如果该元素的关键字小于给定的关键字,则继续向后查找。
2. 如果整个表都被查找过了,仍然没有找到与给定关键字相等的元素,则查找失败,返回 “查找失败” 信息。
下面是一个示例的 C++ 代码实现:
```c++
#include <iostream>
using namespace std;
int SequentialSearch(int a[], int n, int key) {
// 从数组 a 的第一个元素开始查找
for (int i = 0; i < n; i++) {
// 如果找到该元素,返回其下标
if (a[i] == key) {
return i;
}
}
// 如果整个数组都被查找过了,仍然没有找到相等的元素,则查找失败,返回 -1
return -1;
}
int main() {
int a[] = { 10, 20, 30, 40, 50 };
int n = sizeof(a) / sizeof(a[0]);
int key = 30;
int index = SequentialSearch(a, n, key);
if (index == -1) {
cout << "查找失败" << endl;
} else {
cout << "查找成功,元素下标为:" << index << endl;
}
return 0;
}
```
以上代码中,数组 a 表示要查找的表,n 表示表的长度,key 表示要查找的关键字。函数 SequentialSearch() 实现了顺序查找表的查找算法,返回查找结果的下标。如果查找失败,函数返回 -1。在主函数中,我们可以根据函数返回值来判断查找是否成功,并输出相应信息。
阅读全文