vector如何删除其中的一个数
时间: 2024-05-07 22:20:26 浏览: 10
要删除一个向量(vector)中的一个数,可以使用erase()函数。该函数接受一个迭代器(iterator)作为参数,该迭代器指向要删除的元素,然后将该元素从向量中移除。例如,假设要删除向量v中的第3个元素,可以使用以下代码:
```
v.erase(v.begin() + 2); // 删除第3个元素
```
其中,v.begin()指向向量的第一个元素,加上一个整数2表示向后移动2个位置,即指向第3个元素。因为向量的下标从0开始,所以第3个元素的下标为2。
相关问题
定义一个vector容器,对数字0~9进行插入、删除和遍历操作。
以下是使用vector容器对数字0~9进行插入、删除和遍历操作的示例代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> nums; // 定义一个vector容器
// 插入数字0~9
for (int i = 0; i < 10; i++) {
nums.push_back(i);
}
// 遍历vector
cout << "遍历vector: ";
for (int i = 0; i < nums.size(); i++) {
cout << nums[i] << " ";
}
cout << endl;
// 删除数字5
nums.erase(nums.begin() + 5);
// 遍历vector
cout << "删除数字5后的vector: ";
for (int i = 0; i < nums.size(); i++) {
cout << nums[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
遍历vector: 0 1 2 3 4 5 6 7 8 9
删除数字5后的vector: 0 1 2 3 4 6 7 8 9
```
其中,`push_back()`函数用于在vector的末尾插入元素,`erase()`函数用于删除指定位置上的元素,`begin()`函数返回vector容器的起始迭代器。遍历vector容器时,可以使用下标索引或迭代器。
定义一个空的vector,将用户输入的数组a[10]的10个数插入到vector中,在vector头部插入数b,用迭代器遍历vector并输出其中的元素值。然后将vector从小到大排序,删除vector尾部的元素,用迭代器遍历vector并输出其中的元素值。最后将vector清空。
下面是C++的实现代码:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> v; // 定义一个空的vector
int a[10];
for (int i = 0; i < 10; i++) {
cin >> a[i]; // 输入数组a
v.push_back(a[i]); // 将a[i]插入到vector的尾部
}
int b;
cin >> b;
v.insert(v.begin(), b); // 在vector头部插入数b
cout << "遍历vector并输出其中的元素值:" << endl;
for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {
cout << *it << " ";
}
cout << endl;
sort(v.begin(), v.end()); // 对vector进行从小到大排序
v.pop_back(); // 删除vector尾部的元素
cout << "删除vector尾部的元素之后,再次遍历vector并输出其中的元素值:" << endl;
for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {
cout << *it << " ";
}
cout << endl;
v.clear(); // 清空vector
return 0;
}
```
输入示例:
```
1 2 3 4 5 6 7 8 9 10
0
```
输出示例:
```
遍历vector并输出其中的元素值:
0 1 2 3 4 5 6 7 8 9 10
删除vector尾部的元素之后,再次遍历vector并输出其中的元素值:
0 1 2 3 4 5 6 7 8 9
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.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)
![](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)