seqlist.cpp
时间: 2023-08-07 21:25:49 浏览: 159
seqlist.cpp 可能是指使用数组实现的线性表(顺序表)的代码文件,以下是一个简单的示例:
```c++
#include <iostream>
using namespace std;
#define MAXSIZE 100 // 定义线性表最大长度
typedef struct {
int data[MAXSIZE];
int length;
} SeqList;
// 初始化线性表
void InitList(SeqList &L) {
L.length = 0;
}
// 插入元素
bool ListInsert(SeqList &L, int pos, int elem) {
if (pos < 1 || pos > L.length + 1 || L.length == MAXSIZE) {
return false;
}
for (int i = L.length; i >= pos; i--) {
L.data[i] = L.data[i - 1];
}
L.data[pos - 1] = elem;
L.length++;
return true;
}
// 删除元素
bool ListDelete(SeqList &L, int pos) {
if (pos < 1 || pos > L.length) {
return false;
}
for (int i = pos; i < L.length; i++) {
L.data[i - 1] = L.data[i];
}
L.length--;
return true;
}
// 获取元素
int GetElem(SeqList L, int pos) {
if (pos < 1 || pos > L.length) {
cout << "Error: Invalid position." << endl;
return -1;
}
return L.data[pos - 1];
}
// 输出线性表
void PrintList(SeqList L) {
for (int i = 0; i < L.length; i++) {
cout << L.data[i] << " ";
}
cout << endl;
}
int main() {
SeqList L;
InitList(L);
ListInsert(L, 1, 1);
ListInsert(L, 2, 2);
ListInsert(L, 1, 3);
ListInsert(L, 4, 4);
PrintList(L);
ListDelete(L, 2);
PrintList(L);
cout << GetElem(L, 2) << endl;
return 0;
}
```
这段代码实现了线性表的基本操作,包括初始化、插入元素、删除元素、获取元素和输出线性表。在这个示例中,我们使用结构体来表示线性表,其中 data 数组存储元素值,length 表示线性表的长度。
阅读全文