vector颠倒次序
时间: 2023-08-26 18:04:40 浏览: 54
要颠倒一个向量(vector)的次序,您可以使用 `reverse()` 函数。这个函数会修改原始向量,将其中的元素按照相反的顺序重新排列。
以下是使用 `reverse()` 函数颠倒向量次序的示例:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> myVector = {1, 2, 3, 4, 5};
reverse(myVector.begin(), myVector.end());
for (int i : myVector) {
cout << i << " ";
}
return 0;
}
```
输出结果为:
```
5 4 3 2 1
```
在这个示例中,`reverse()` 函数将向量 `[1, 2, 3, 4, 5]` 中的元素颠倒次序,得到 `[5, 4, 3, 2, 1]`。然后,我们使用一个循环遍历并打印颠倒后的向量中的每个元素。
需要注意的是,`reverse()` 函数需要包含头文件 `<algorithm>`,并且要确保正确使用命名空间 `std`。
相关问题
c++ vector 颠倒
你可以使用`std::reverse`函数来颠倒一个`std::vector`中的元素。下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> nums = {1, 2, 3, 4, 5};
std::reverse(nums.begin(), nums.end());
for (const auto& num : nums) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
这段代码会输出:`5 4 3 2 1`。
vector vector
可以使用赋值运算符"="来实现vector复制到另一个vector。例如:
```
vector<int> v1 = {1, 2, 3};
vector<int> v2;
v2 = v1;
```
也可以使用构造函数来实现:
```
vector<int> v1 = {1, 2, 3};
vector<int> v2(v1);
```
也可以使用std::copy()来实现:
```
vector<int> v1 = {1, 2, 3};
vector<int> v2(v1.size());
std::copy(v1.begin(), v1.end(), v2.begin());
```
或者std::vector<T>::assign() 来实现
```
vector<int> v1 = {1, 2, 3};
vector<int> v2;
v2.assign(v1.begin(),v1.end());
```
最后,还可以使用std::vector<T>::assign() + std::back_inserter()来实现:
```
vector<int> v1 = {1, 2, 3};
vector<int> v2;
std::copy(v1.begin(), v1.end(), std::back_inserter(v2));
```
这些方法都可以实现vector复制到另一个vector。