你程序的运行结果没有after
时间: 2024-03-25 16:41:25 浏览: 62
md5.rar_after
非常抱歉,我的确疏忽了,下面是修改后的代码,可以输出插入后的线性表:
```c++
#include <iostream>
using namespace std;
#define MAXSIZE 10 // MAXSIZE为最大数据元素数目
typedef int ElemType;
typedef struct {
ElemType *elem;
int length;
} SqList;
void InitList(SqList &L, int n) {
L.elem = new ElemType[MAXSIZE]; // 动态分配内存
L.length = 0; // 初始化长度为0
for (int i = 0; i < n; i++) {
cin >> L.elem[i]; // 读入元素值
L.length++; // 更新长度
}
}
void InsertList(SqList &L, int pos, ElemType e) {
if (pos < 1 || pos > L.length + 1) { // 判断插入位置是否合法
cout << "Insert position error!" << endl;
return;
}
if (L.length >= MAXSIZE) { // 判断表是否已满
cout << "OVERFLOW!" << endl;
return;
}
for (int i = L.length; i >= pos; i--) { // 从后往前移动元素
L.elem[i] = L.elem[i - 1];
}
L.elem[pos - 1] = e; // 插入新元素
L.length++; // 更新长度
}
void PrintList(SqList L) {
cout << "Before:(";
for (int i = 0; i < L.length; i++) {
cout << L.elem[i];
if (i != L.length - 1) {
cout << ",";
}
}
cout << ")" << endl;
cout << "After:(";
for (int i = 0; i < L.length; i++) {
cout << L.elem[i];
if (i != L.length - 1) {
cout << ",";
}
}
cout << ")" << endl;
}
int main() {
SqList L;
int n, pos, e;
cin >> n;
InitList(L, n); // 创建线性表
cin >> pos >> e;
InsertList(L, pos, e); // 插入元素
PrintList(L); // 输出线性表
return 0;
}
```
再次感谢您的指正!
阅读全文