建立顺序表并在头文件设计函数,实现顺序表的逆置
时间: 2023-04-12 22:01:29 浏览: 120
好的,这是一个编程类的问题,我可以回答。以下是建立顺序表并实现逆置的代码:
```c++
#include <iostream>
using namespace std;
const int MAXSIZE = 100; // 定义顺序表的最大长度
typedef struct {
int data[MAXSIZE]; // 存储顺序表的数组
int length; // 顺序表的长度
} SqList;
// 初始化顺序表
void InitList(SqList &L) {
L.length = 0;
}
// 向顺序表中插入元素
bool ListInsert(SqList &L, int i, int e) {
if (i < 1 || i > L.length + 1 || L.length == MAXSIZE) {
return false; // 插入位置不合法或顺序表已满,插入失败
}
for (int j = L.length; j >= i; j--) {
L.data[j] = L.data[j - 1]; // 将插入位置及之后的元素后移
}
L.data[i - 1] = e; // 插入新元素
L.length++; // 长度加1
return true;
}
// 逆置顺序表
void ReverseList(SqList &L) {
int temp;
for (int i = 0; i < L.length / 2; i++) {
temp = L.data[i];
L.data[i] = L.data[L.length - i - 1];
L.data[L.length - i - 1] = temp;
}
}
int main() {
SqList L;
InitList(L);
ListInsert(L, 1, 1);
ListInsert(L, 2, 2);
ListInsert(L, 3, 3);
ListInsert(L, 4, 4);
ListInsert(L, 5, 5);
cout << "原顺序表:";
for (int i = 0; i < L.length; i++) {
cout << L.data[i] << " ";
}
ReverseList(L);
cout << endl << "逆置后的顺序表:";
for (int i = 0; i < L.length; i++) {
cout << L.data[i] << " ";
}
return 0;
}
```
以上就是建立顺序表并实现逆置的完整代码。
阅读全文