c++顺序表的顺序查找算法,并测试验证
时间: 2023-11-27 19:51:49 浏览: 108
顺序查找算法(又称线性查找)是一种基本的查找算法,其原理是从数据结构的起始位置开始依次比较每个元素,直到找到目标元素或搜索到最后一个元素。以下是C++实现顺序查找的代码:
```c++
#include <iostream>
using namespace std;
const int MAXSIZE = 100;
typedef struct {
int data[MAXSIZE];
int length;
} SqList;
int Sequential_Search(SqList L, int key) {
for (int i = 0; i < L.length; i++) {
if (L.data[i] == key) {
return i;
}
}
return -1;
}
int main() {
SqList L;
L.length = 10;
for (int i = 0; i < L.length; i++) {
L.data[i] = i;
}
int key = 5;
int pos = Sequential_Search(L, key);
if (pos == -1) {
cout << "未找到" << endl;
} else {
cout << "找到了,位置为:" << pos << endl;
}
return 0;
}
```
以上代码创建了一个长度为10的顺序表,并在其中插入了0-9的整数。然后在主函数中调用了`Sequential_Search`函数,将关键字5作为参数进行查找。程序输出了查找结果,即找到了,位置为5。
需要注意的是,顺序查找算法的时间复杂度为O(n),即最坏情况下需要比较n次才能找到元素。因此,对于规模较大的数据,建议使用更高效的查找算法,如二分查找、哈希查找等。
阅读全文