【问题标题】:swapping elements of a 2 dimensional vector c++交换二维向量c ++的元素
【发布时间】:2016-08-08 18:36:15
【问题描述】:

我有一个格式为

的矩阵
    vector<vector<int>> K

大小为 NxN。我如何交换这个向量的两个元素,比如 K[i]k[j]K[n-j][i]? 一般来说,如何交换 2D 向量的两个元素?

【问题讨论】:

    标签: vector swap


    【解决方案1】:

    因为向量的 [] 运算符返回一个引用,所以 std::swap() 将起作用。例如:

    swap(K[i][j], K[n-i][i]);
    

    【讨论】:

      【解决方案2】:

      一般交换可能看起来像这样

      void swap(int& a, int& b)
      {
         int temp = a;
         a = b;
         b = tmp;
      }
      

      然后你调用它

      swap(K[i][j], K[n - j][i]);
      

      或者您可以按照@Jeffrey 的建议调用 std::swap

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多