gpt4 book ai didi

c++ - 更改数组的2行数据

转载 作者:行者123 更新时间:2023-11-27 23:13:35 25 4
gpt4 key购买 nike

如何使用交换更改数组的 2 行数据。我编写了基本更改代码,但我想通过将其更改为一行来提高性能(使用交换功能或本页底部的类似功能)。我的主要代码:

   int i,j;
int A[50][4];
i=5;
j=21;
//line 5
int t1 = A[j][0];
int t2 = A[j][1];
int t3 = A[j][2];
int t4 = A[j][3];

A[j][0]=A[i][0] ;
A[j][1]=A[i][1] ;
A[j][2]=A[i][2] ;
A[j][3]=A[i][3] ;

A[i][0] = t1;
A[i][1] = t2;
A[i][2] = t3;
A[i][3] = t4;
//line 18

我想改变的是:将第 5-18 行更改为以下内容之一:

A[i][] = A[j][];

swap (A[i] , A[j])

最佳答案

只需使用 std::swap ,它对数组有重载。在你的情况下:

std::swap( A[i] , A[j] );

请注意,A[i] 的类型是 int[4],非常适合该重载。

编辑:如果您不能使用 C++11 功能,std::swap_ranges可能是一个选项:

std::swap_ranges( A[i] , A[i] + 4 , A[j] );

关于c++ - 更改数组的2行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18355062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com