用C++表示数据结构:建立一个20个及以上数据的有序和无序顺序表,表中可以仅存放记录的关键字,实现对该查找表的顺序查找算法,测试数据应充分考虑查找成功和查找不成功两种情况
时间: 2024-03-09 20:49:46 浏览: 70
好的,以下是 C++ 代码示例,用于表示数据结构并实现顺序查找算法。
```c++
#include <iostream>
using namespace std;
const int MAX = 100;
// 顺序表结构体
struct SeqList {
int data[MAX]; // 数据域
int length; // 长度
};
// 初始化顺序表
void initList(SeqList &L, int arr[], int n) {
for (int i = 0; i < n; i++) {
L.data[i] = arr[i];
}
L.length = n;
}
// 顺序查找函数
int seqSearch(SeqList L, int x) {
int i;
for (i = 0; i < L.length; i++) {
if (L.data[i] == x) { // 找到目标元素
return i;
}
}
return -1; // 没有找到目标元素
}
int main() {
SeqList L; // 定义顺序表
int arr[MAX]; // 数组
int n; // 数组元素个数
int x; // 目标元素
int index; // 目标元素在数组中的下标
// 输入数组元素个数和数组元素值
cout << "请输入数组元素个数: ";
cin >> n;
cout << "请输入数组元素: ";
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
// 初始化顺序表
initList(L, arr, n);
// 输入目标元素
cout << "请输入目标元素: ";
cin >> x;
// 调用顺序查找函数
index = seqSearch(L, x);
// 输出结果
if (index == -1) {
cout << "没有找到目标元素" << endl;
} else {
cout << "目标元素在顺序表中的下标为: " << index << endl;
}
return 0;
}
```
你可以在这个代码基础上进行修改,以实现你需要的功能。测试数据可根据你的实际情况进行设置,确保充分考虑查找成功和查找不成功两种情况。
阅读全文