交换vector中的两个元素
时间: 2023-12-10 15:42:04 浏览: 52
可以使用 std::swap() 函数来交换 vector 中的两个元素。例如,如果要交换 vector 中下标为 i 和 j 的元素,可以使用以下代码:
```c++
std::vector<int> vec = {1, 2, 3, 4, 5};
int i = 1;
int j = 3;
std::swap(vec[i], vec[j]);
```
这将交换 vec 中下标为 i 和 j 的元素。在上面的例子中,交换后的结果为 {1, 4, 3, 2, 5}。
相关问题
c++中如何交换vector中的两个元素位置
要换 vector 中两个元素的位置,可以使用 std::swap 函数。具体步骤如下:
1. 头文件中包含 <algorithm> 头文件。
2. 使用 std::swap 函数交换两个元素的值。
3. 使用 vector 的成员函数 [] 或 at() 访问需要交换的元素。
以下是示例代码:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec {1, 2, 3, 4, 5};
// 交换第2个和第4个元素的位置
std::swap(vec[1], vec[3]);
for (int i : vec) {
std::cout << i << " "; // 输出:1 4 3 2 5
}
return 0;
}
```
注意,使用 at() 访问元素时需要注意访问越界的情况,否则会抛出 std::out_of_range 异常。
如何交互std::vector中两个元素的位置
可以通过使用std::swap函数来交换std::vector中两个元素的位置。例如:
```c++
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec {1, 2, 3, 4, 5};
// 交换第一个元素和第三个元素的位置
std::swap(vec[0], vec[2]);
// 输出交换后的结果
for (auto i : vec) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
3 2 1 4 5
```
在这个例子中,我们使用std::swap函数来交换std::vector中的两个元素。我们将vec[0]和vec[2]作为参数传递给std::swap函数,以交换它们的值。注意,我们使用了C++11中的范围for循环来遍历std::vector中的元素。