1.设计程序建立一个顺序表,要求从键盘输入整数,并完成添加插入和删除元素功能,并将该顺序表的元素从屏幕显示出来。用C++实现
时间: 2024-02-16 16:59:51 浏览: 87
数据结构与算法c++实现 两个顺序表的元素严格单调递增,将其共同元素保存到新顺序表中,且为递增排序
5星 · 资源好评率100%
好的,我可以帮你解决这个问题。下面是一个简单的C++程序,实现了创建、插入、删除和显示顺序表的功能。
```c++
#include <iostream>
using namespace std;
const int MAXSIZE = 100; // 最大容量
class SequenceList {
private:
int data[MAXSIZE]; // 存储数据的数组
int length; // 当前长度
public:
SequenceList() {
length = 0;
}
// 插入元素
bool insert(int pos, int val) {
if (pos < 1 || pos > length + 1) {
return false;
}
if (length >= MAXSIZE) {
return false;
}
for (int i = length; i >= pos; i--) {
data[i] = data[i - 1];
}
data[pos - 1] = val;
length++;
return true;
}
// 删除元素
bool remove(int pos) {
if (pos < 1 || pos > length) {
return false;
}
for (int i = pos; i < length; i++) {
data[i - 1] = data[i];
}
length--;
return true;
}
// 显示元素
void display() {
for (int i = 0; i < length; i++) {
cout << data[i] << " ";
}
cout << endl;
}
};
int main() {
SequenceList list;
int choice, pos, val;
do {
cout << "1. 插入元素" << endl;
cout << "2. 删除元素" << endl;
cout << "3. 显示元素" << endl;
cout << "0. 退出" << endl;
cout << "请输入您的选择:";
cin >> choice;
switch (choice) {
case 1:
cout << "请输入插入位置和值:";
cin >> pos >> val;
if (list.insert(pos, val)) {
cout << "插入成功" << endl;
} else {
cout << "插入失败" << endl;
}
break;
case 2:
cout << "请输入删除位置:";
cin >> pos;
if (list.remove(pos)) {
cout << "删除成功" << endl;
} else {
cout << "删除失败" << endl;
}
break;
case 3:
list.display();
break;
case 0:
cout << "谢谢使用" << endl;
break;
default:
cout << "输入错误,请重新输入" << endl;
break;
}
} while (choice != 0);
return 0;
}
```
在程序中,我们定义了一个 `SequenceList` 类,其中包括一个存储数据的数组和当前长度。该类提供了三个方法:`insert()`、`remove()` 和 `display()`,分别用于插入、删除和显示元素。在 `main()` 函数中,我们通过一个菜单循环来实现用户交互。用户可以选择插入、删除、显示或退出操作。
阅读全文