#include <iostream>
using namespace std;
typedef int ElementType;
#define MaxSize 50
typedef struct SeqList {
ElementType data[MaxSize];
int length;
} Seq;
bool init(Seq *L) {
L->length = MaxSize - 3; //顺序初始化前47个元素
for (int i = 0; i < MaxSize - 3; ++i) {
L->data[i] = i;
}
return true;
}
Seq *createSeq(int size) {
Seq *L = (Seq *) malloc(sizeof(ElementType) * size);
L->length = 10;
L->data[9] = 9;
return L;
}
bool insertEle(Seq *L, ElementType e, int loc) {
if (loc < 1 || loc > L->length + 1) return false;
else {
for (int i = L->length; i >= loc; --i) {
L->data[i] = L->data[i - 1];
}
L->data[loc - 1] = e;
L->length++;
}
return true;
}
ElementType popEle(Seq *L, int loc) {
ElementType e = L->data[loc - 1];
if (loc < 1 || loc > L->length + 1) return false;
else {
for (int i = loc; i <= L->length; ++i) {
L->data[i - 1] = L->data[i];
}
L->length--;
}
return e;
}
int main() {
Seq L; // 静态创建 传入函数时 使用 &L
ElementType e, loc;
// Seq *L = createSeq(30); // 动态创建 传入函数时 使用 L 且打印时 L. 改为 L->
init(&L); // 初始化线性表
cin >> e >> loc;
insertEle(&L, e, loc);
popEle(&L, loc);
for (int i = 0; i < L.length; ++i) {
cout << L.data[i] << endl;
}
return 0;
}