std::vector 删除元素样例代码
时间: 2024-06-19 19:02:17 浏览: 16
std::vector 是C++ STL中非常常用的容器,可以动态存储元素并提供许多方便的操作。要删除 std::vector 中的元素,可以使用 erase() 函数。下面是一个简单的示例代码:
```
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec{1, 2, 3, 4, 5};
// 删除第三个元素
vec.erase(vec.begin() + 2);
for (auto i : vec) {
std::cout << i << " ";
}
return 0;
}
```
这个例子中,我们首先定义了一个包含整数的 std::vector,并初始化了一些元素。然后,我们使用 erase() 函数删除了第三个元素(下标为2),最后输出剩余的元素。
相关问题
输入n,输入n个数字构建数组,作为二维数组第一个位置; 把每次删除第1项后的数组,给到下一个位置; 直到没有元素可以删除; 打印整个二维数组; 输入样例:5 1 2 3 4 5 输出:1 2 3 4 5 2 3 4 5 3 4 5 4 5 5 C++98代码
这是一道比较简单的题目,我们可以使用双层循环来实现。以下是 C++98 标准的代码实现:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
vector<vector<int> > res(n, vector<int>(n));
for (int i = 0; i < n; i++) {
res[i][0] = nums[i];
for (int j = 1; j < n-i; j++) {
nums[j-1] = nums[j];
res[i][j] = nums[j-1];
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n-i; j++) {
cout << res[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
首先,我们将输入的n个数字存储在vector<int>类型的nums数组中。接下来,我们定义一个二维数组res来存储每次删除第1项后的数组。其中,res[i][j]表示第i次操作后的数组中第j个元素。外层循环用来进行n次操作,即将nums数组中的元素一个一个地移至res数组中,并更新nums数组。内层循环则用来更新每次操作后的数组。具体实现时,我们先将原始数组中的元素存储到res[i][0]中,然后使用一个指针j来指向数组中第2个元素,将后面的元素依次向前移动,同时更新res[i][j]的值。最后,我们输出整个二维数组即可。
输入n,输入n个数字构建数组,作为二维数组第一个位置; 把每次删除第1项后的数组,给到下一位置; 直到没有元素可以删除; 打印整个二维数组; 样例输入:5 1 2 3 4 5 输出:1 2 3 4 5 2 3 4 5 3 4 5 4 5 5 C++98代码
好的,您的问题是关于编程的。下面是对应的C++98代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> arr(n);
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
vector<vector<int> > res(n, vector<int>(n));
for (int i = 0; i < n; i++) {
for (int j = 0; j < n - i; j++) {
res[i][j] = arr[j];
}
arr.erase(arr.begin());
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n - i; j++) {
cout << res[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
希望能够解决您的问题。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)