java - 如何切换二维数组中的两列?
问题描述
我正在用 Java 编写数独代码。
我已经写了一个代码,但不是列,而是行被切换!
int[] tempField = array2D[myFirstCol_toSwitch];
array2D[myFirstCol_toSwitch] = array2D[mySecondCol_toSwitch];
array2D[mySecondCol_toSwitch] = tempField;
为了生成数独板,我需要随机交换列。
解决方案
列的条目分布在所有行中,每行一个项目。因此,为了交换两列,您必须遍历所有行并交换每行中的适当项目,如下所示:
// ints c1 and c2 are the indices of the columns to be swapped
for (int[] row : array2d){
{
int t = row[c1];
row[c1] = row[c2];
row[c2] = t;
}
推荐阅读
- server - 在 NixOS 上安装 Zabbix 服务器
- bash - zsh 像在 bash 中一样进行迭代
- matrix - 使用 JOML 时对象旋转异常
- php - SQLSTATE [23000]:违反完整性约束:1452 无法添加或更新子行:
- c - 如何打印与密码相关的输出?
- python - 尝试制作 eval 命令时出错 [discord python]
- php - 使用 $this->property 作为类方法 getter 中的变量
- drake - PyDrake:Meshcat 不使用(伪)球形关节可视化 URDF
- c - C 语言中是否有像 Basic 语言一样的 GOTO 10 函数?
- c# - Html.EditorFor 中的日期格式不起作用