【发布时间】:2016-08-08 18:36:15
【问题描述】:
我有一个格式为
的矩阵 vector<vector<int>> K
大小为 NxN。我如何交换这个向量的两个元素,比如 K[i]k[j] 和 K[n-j][i]? 一般来说,如何交换 2D 向量的两个元素?
【问题讨论】:
我有一个格式为
的矩阵 vector<vector<int>> K
大小为 NxN。我如何交换这个向量的两个元素,比如 K[i]k[j] 和 K[n-j][i]? 一般来说,如何交换 2D 向量的两个元素?
【问题讨论】:
因为向量的 [] 运算符返回一个引用,所以 std::swap() 将起作用。例如:
swap(K[i][j], K[n-i][i]);
【讨论】:
一般交换可能看起来像这样
void swap(int& a, int& b)
{
int temp = a;
a = b;
b = tmp;
}
然后你调用它
swap(K[i][j], K[n - j][i]);
或者您可以按照@Jeffrey 的建议调用 std::swap
【讨论】: