用c++语言创建一个线性表,线性表数据元素为int类型,表示学生成绩,编写顺序表定义,初始化,插入,删除,查找
时间: 2024-09-11 13:02:17 浏览: 52
在C++中创建一个线性表,我们可以使用数组或者vector来实现顺序表。下面是一个简单的示例,使用数组来实现基本的顺序表操作,包括定义、初始化、插入、删除和查找。
```cpp
#include <iostream>
using namespace std;
const int MAX_SIZE = 100; // 定义线性表的最大容量
class SeqList {
private:
int data[MAX_SIZE]; // 存储数据的数组
int length; // 线性表当前长度
public:
// 构造函数,初始化线性表
SeqList() : length(0) {}
// 向线性表中插入元素
bool insert(int index, int value) {
if (index < 0 || index > length || length == MAX_SIZE) {
return false;
}
for (int i = length; i > index; --i) {
data[i] = data[i - 1];
}
data[index] = value;
++length;
return true;
}
// 从线性表中删除元素
bool remove(int index) {
if (index < 0 || index >= length) {
return false;
}
for (int i = index; i < length - 1; ++i) {
data[i] = data[i + 1];
}
--length;
return true;
}
// 查找线性表中元素的索引位置
int find(int value) {
for (int i = 0; i < length; ++i) {
if (data[i] == value) {
return i;
}
}
return -1; // 如果找不到,返回-1
}
// 打印线性表中的所有元素
void print() {
for (int i = 0; i < length; ++i) {
cout << data[i] << " ";
}
cout << endl;
}
};
int main() {
SeqList list; // 创建顺序表对象
// 插入元素
list.insert(0, 90); // 在位置0插入90
list.insert(1, 85); // 在位置1插入85
// 删除元素
list.remove(1); // 删除位置1的元素
// 查找元素
int index = list.find(85); // 查找85的索引位置
cout << "The index of 85 is: " << index << endl;
// 打印顺序表
list.print(); // 打印顺序表中的所有元素
return 0;
}
```
以上代码展示了顺序表的基本操作,包括初始化、插入、删除和查找。这些操作都是顺序表中常见的操作,也是数据结构中线性表实现的基础。
阅读全文