以顺序存储的顺序表为查找表进行顺序查找完整代码
时间: 2024-03-18 21:42:35 浏览: 103
下面是一个完整的以顺序存储的顺序表为查找表进行顺序查找的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100 // 定义顺序表的最大长度
typedef int ElemType; // 假设表中元素类型为整型
typedef struct {
ElemType data[MAXSIZE]; // 存储表中元素的数组
int length; // 表的当前长度
} SqList;
// 顺序查找算法
int SeqSearch(SqList L, ElemType key) {
int i;
for (i = 0; i < L.length; i++) {
if (L.data[i] == key) {
return i;
}
}
return -1; // 查找失败
}
int main() {
SqList L;
int i, result, key;
// 初始化顺序表
L.length = 10;
for (i = 0; i < L.length; i++) {
L.data[i] = i + 1;
}
// 输出顺序表中的元素
printf("顺序表中的元素为:");
for (i = 0; i < L.length; i++) {
printf("%d ", L.data[i]);
}
printf("\n");
// 进行顺序查找
printf("请输入要查找的元素:");
scanf("%d", &key);
result = SeqSearch(L, key);
// 输出查找结果
if (result != -1) {
printf("查找成功,元素 %d 在表中的位置为 %d\n", key, result);
} else {
printf("查找失败,元素 %d 不在表中\n", key);
}
return 0;
}
```
在这个示例中,我们定义了一个 `SqList` 结构体来表示顺序存储的顺序表,然后实现了 `SeqSearch` 函数来进行顺序查找。在 `main` 函数中,我们先初始化了一个长度为 10 的顺序表,并输出表中的元素;然后让用户输入要查找的关键字,调用 `SeqSearch` 函数进行查找,并输出查找结果。
阅读全文