编写一个程序,使用vector容器来实现一个整数列表。程序需要实现以下功能: 1->添加整数到列表末尾 2->在指定位置插入整数 3->删除指定位置的整数 4->显示列表中的所有整数
时间: 2024-03-03 20:47:57 浏览: 73
好的,以下是代码实现,可以参考:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> list; // 定义一个空的整数列表
while (true) {
int choice;
cout << "请选择操作:" << endl;
cout << "1. 添加整数到列表末尾" << endl;
cout << "2. 在指定位置插入整数" << endl;
cout << "3. 删除指定位置的整数" << endl;
cout << "4. 显示列表中的所有整数" << endl;
cout << "请选择:";
cin >> choice;
cout << endl;
if (choice == 1) { // 添加整数到列表末尾
int num;
cout << "请输入要添加的整数:";
cin >> num;
list.push_back(num); // 在列表末尾添加整数
cout << "已添加到列表末尾。" << endl;
} else if (choice == 2) { // 在指定位置插入整数
int pos, num;
cout << "请输入要插入的位置:";
cin >> pos;
if (pos < 0 || pos >= list.size()) { // 判断位置是否合法
cout << "位置不合法!" << endl;
continue;
}
cout << "请输入要插入的整数:";
cin >> num;
list.insert(list.begin() + pos, num); // 在指定位置插入整数
cout << "已插入到指定位置。" << endl;
} else if (choice == 3) { // 删除指定位置的整数
int pos;
cout << "请输入要删除的位置:";
cin >> pos;
if (pos < 0 || pos >= list.size()) { // 判断位置是否合法
cout << "位置不合法!" << endl;
continue;
}
list.erase(list.begin() + pos); // 删除指定位置的整数
cout << "已删除指定位置的整数。" << endl;
} else if (choice == 4) { // 显示列表中的所有整数
if (list.empty()) { // 判断列表是否为空
cout << "列表为空!" << endl;
continue;
}
cout << "列表中的所有整数为:" << endl;
for (int i = 0; i < list.size(); i++) {
cout << list[i] << " ";
}
cout << endl;
} else { // 输入错误,重新选择
cout << "输入错误,请重新选择!" << endl;
}
cout << endl;
}
return 0;
}
```
以上程序使用了一个无限循环,可以一直进行操作,直到手动终止程序。你可以在每次操作后进行选择,根据不同的选择进行相应的操作。注意,在插入或删除指定位置的整数时,需要判断位置是否合法(即在列表的范围内)。如果列表为空,则不能进行删除或显示操作。
阅读全文