有一个二维数组:4行3列。我需要将每个元素进行比较。有一个想法是在 4 个周期后“正面”进行。也许您知道如何让它变得更容易?
此代码无法正常工作:
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 3; j++) {
for (int k = j + 1; k < 3; k++) {
//arr[i][j]==arr[i][k]...
}
}
}
有一个二维数组:4行3列。我需要将每个元素进行比较。有一个想法是在 4 个周期后“正面”进行。也许您知道如何让它变得更容易?
此代码无法正常工作:
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 3; j++) {
for (int k = j + 1; k < 3; k++) {
//arr[i][j]==arr[i][k]...
}
}
}
在评论中,@Byb 正确地指出,两个循环就足够了,因为比较了一对元素,并且在嵌套循环中,从当前元素之后的“下一个”元素开始迭代就足够了。迭代将执行到
M * N
,其中M
是行数,N
是列数,与常规线性数组一样,但每个索引都需要строка-столбец
使用除法和求余数运算转换为一对: