如何反转 4x4 数组中的一行
how to reverse a row in a 4x4 array
我对此还很陌生,无法理解这个问题。我基本上得到了一个 4x4 数组,例如:
5 2 1 7
3 2 4 4
7 8 9 2
1 2 4 3
我正在尝试反转特定行,我正在努力在网上找到任何关于对特定行执行此操作的信息,所以我想知道是否有人可以告诉我如何处理这个问题。
如果用户要求反转第 0 行,则所需的输出将是 return
7 1 2 5
3 2 4 4
7 8 9 2
1 2 4 3
我试过了,但我的代码不起作用。这是我的代码:
for(int i = 0; i < row; i++){
for(int col = 0; col < cols / 2; col++) {
int temp = arr[i][col];
arr[i][col] = arr[i][arr[i].length - col - 1];
arr[i][arr[i].length - col - 1] = temp;
}
提前致谢!
使用特定的行号和数组,我相信这会起作用。试试看,让我知道。
function rowSwitch(row_num, arr) {
for(int col = 0; col < arr[row_num].length/ 2; col++) {
int temp = arr[row_num][col];
arr[row_num][col] = arr[row_num][arr[row_num].length - col - 1];
arr[row_num][arr[row_num].length - col - 1] = temp; }
}
好的,所以首先,当您 运行 处理数据结构时,尽量不要处理它。
在这里,您通过切换第一个和最后一个来更改数组,但是如果长度为奇数会怎样?有一个案子你没有处理。
其次你 运行 在错误的索引上,都 arr[i].length == arr.length
如果这不是正方形它也会有错误...
如果您在使用索引时遇到问题,我会保存一个一维数组并切换它。
尝试使用此代码:
for(int i = 0; i < arr.length / 2; i++)
{
int temp = arr[i];
arr[i] = arr[arr.length - i - 1];
arr[arr.length - i - 1] = temp;
}
我对此还很陌生,无法理解这个问题。我基本上得到了一个 4x4 数组,例如:
5 2 1 7
3 2 4 4
7 8 9 2
1 2 4 3
我正在尝试反转特定行,我正在努力在网上找到任何关于对特定行执行此操作的信息,所以我想知道是否有人可以告诉我如何处理这个问题。
如果用户要求反转第 0 行,则所需的输出将是 return
7 1 2 5
3 2 4 4
7 8 9 2
1 2 4 3
我试过了,但我的代码不起作用。这是我的代码:
for(int i = 0; i < row; i++){
for(int col = 0; col < cols / 2; col++) {
int temp = arr[i][col];
arr[i][col] = arr[i][arr[i].length - col - 1];
arr[i][arr[i].length - col - 1] = temp;
}
提前致谢!
使用特定的行号和数组,我相信这会起作用。试试看,让我知道。
function rowSwitch(row_num, arr) {
for(int col = 0; col < arr[row_num].length/ 2; col++) {
int temp = arr[row_num][col];
arr[row_num][col] = arr[row_num][arr[row_num].length - col - 1];
arr[row_num][arr[row_num].length - col - 1] = temp; }
}
好的,所以首先,当您 运行 处理数据结构时,尽量不要处理它。 在这里,您通过切换第一个和最后一个来更改数组,但是如果长度为奇数会怎样?有一个案子你没有处理。 其次你 运行 在错误的索引上,都 arr[i].length == arr.length 如果这不是正方形它也会有错误...
如果您在使用索引时遇到问题,我会保存一个一维数组并切换它。
尝试使用此代码:
for(int i = 0; i < arr.length / 2; i++)
{
int temp = arr[i];
arr[i] = arr[arr.length - i - 1];
arr[arr.length - i - 1] = temp;
}