c++ vector调转元素
时间: 2024-01-10 21:22:05 浏览: 24
在C++中,可以使用`std::reverse`函数来反转`vector`中的元素顺序。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::reverse(vec.begin(), vec.end());
for (const auto& num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:`5 4 3 2 1`。
`std::reverse`函数接受两个迭代器作为参数,表示要反转的范围。在上述示例中,`vec.begin()`表示`vector`的第一个元素的迭代器,`vec.end()`表示`vector`的最后一个元素的下一个位置的迭代器。调用`std::reverse`函数后,`vector`中的元素顺序将被反转。
相关问题
c++ vector 删除元素
在C++中,vector是一个动态数组容器,可以方便地进行元素的插入、删除和访问操作。要删除vector中的元素,可以使用erase()函数或者使用pop_back()函数。
1. 使用erase()函数删除指定位置的元素:
vector提供了erase()函数,可以删除指定位置的元素。该函数接受一个迭代器参数,指向要删除的元素位置。删除后,后面的元素会自动向前移动填补空缺。
例如,要删除vector中的第三个元素,可以使用以下代码:
```
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 删除第三个元素
```
2. 使用pop_back()函数删除最后一个元素:
pop_back()函数用于删除vector中的最后一个元素。该函数不接受任何参数,直接将最后一个元素删除。
例如,要删除vector中的最后一个元素,可以使用以下代码:
```
vector<int> vec = {1, 2, 3, 4, 5};
vec.pop_back(); // 删除最后一个元素
```
需要注意的是,使用erase()函数删除元素时,要确保传入的迭代器指向有效的元素位置,否则可能会导致未定义行为。此外,删除元素后,vector的大小会相应减小。
c++ vector添加元素
在C++中,vector是一个动态数组容器,可以方便地添加、删除和访问元素。要向vector添加元素,可以使用push_back()函数或者insert()函数。
1. 使用push_back()函数:
push_back()函数用于在vector的末尾添加一个元素。例如,如果我们有一个名为vec的vector,并且要向其中添加一个整数元素10,可以使用以下代码:
```
vec.push_back(10);
```
2. 使用insert()函数:
insert()函数用于在vector的指定位置插入一个元素。它接受两个参数,第一个参数是要插入的位置的迭代器,第二个参数是要插入的元素的值。例如,如果我们有一个名为vec的vector,并且要在索引位置2处插入一个整数元素20,可以使用以下代码:
```
vec.insert(vec.begin() + 2, 20);
```
请注意,以上代码中的vec.begin()返回一个指向vector第一个元素的迭代器,加上偏移量2后即为要插入的位置。