建立顺序表,然后删除表中第i个元素并用变量*e返回其值。同时返回是否删除成功标志,若删除成功,L的长度减1。完整程序
时间: 2024-03-10 13:48:49 浏览: 92
好的,下面是一个完整的 C++ 程序,实现了建立顺序表、删除表中第 i 个元素并返回其值、返回删除是否成功标志以及 L 的长度减1 的操作。程序中使用了一个结构体 SeqList 来表示顺序表。
```cpp
#include <iostream>
using namespace std;
const int MAXSIZE = 100;
typedef int ElemType;
struct SeqList {
ElemType data[MAXSIZE];
int length;
};
bool deleteElem(SeqList &L, int i, ElemType &e) {
if (i < 1 || i > L.length) {
return false;
}
e = L.data[i - 1];
for (int j = i; j < L.length; ++j) {
L.data[j - 1] = L.data[j];
}
L.length--;
return true;
}
int main() {
SeqList L;
L.length = 0;
cout << "请输入顺序表的长度:";
cin >> L.length;
cout << "请输入顺序表的元素:";
for (int i = 0; i < L.length; ++i) {
cin >> L.data[i];
}
int i;
cout << "请输入要删除的元素的位置:";
cin >> i;
ElemType e;
bool success = deleteElem(L, i, e);
if (success) {
cout << "删除成功,删除的元素是:" << e << endl;
cout << "删除后的顺序表为:";
for (int i = 0; i < L.length; ++i) {
cout << L.data[i] << " ";
}
cout << endl;
} else {
cout << "删除失败!" << endl;
}
return 0;
}
```
这个程序可以先输入顺序表的长度和元素,然后再输入要删除的元素的位置,最后输出删除是否成功以及删除后的顺序表。
阅读全文