gpt4 book ai didi

java - 如何在堆栈的索引处存储多个值?

转载 作者:行者123 更新时间:2023-11-30 06:57:36 25 4
gpt4 key购买 nike

我正在尝试更新数独解算器的有效性检查器,但我不太确定如何按照我想要的方式使用Stacks。我已经了解了 Stacks 的基础知识,但我正在尝试在一个索引处存储多个值。

我的数独板存储在 3D 数组中,因此在我的堆栈中,我需要存储值、找到该值的子方格、找到该值的行以及找到该值的列。

假设我的数组是这样的:

 int[][][] solved = {{{5,3,4},{6,7,2},{1,9,8}}, //Let's say I want to check if 5 is in the right position.
{{6,7,8},{1,9,5},{3,4,2}},
{{9,1,2},{3,4,8},{5,6,7}},
{{8,5,9},{4,2,6},{7,1,3}},
{{7,6,1},{8,5,3},{9,2,4}},
{{4,2,3},{7,9,1},{8,5,6}},
{{9,6,1},{2,8,7},{3,4,5}},
{{5,3,7},{4,1,9},{2,8,6}},
{{2,8,4},{6,3,5},{1,7,9}}};

信息将为[5,0,0,0]。

我已经有了一个可用的检查器,但现在我需要知道如何在 Stack 中的单个索引处存储多个值。这样,如果它的位置错误,我可以将其弹出并尝试不同的数字。

任何见解将不胜感激!

最佳答案

创建一个封装该组值的对象。该类应标记字段 private并提供 getter 和 setter,但为了简洁起见,我将其省略。我也不知道数据的类型,我假设 int .

public class Move 
{
public int value;
public int row;
public int subSquare;
}

然后你将有Stack<Move>

然后您可以添加 Move入栈:

Stack<Move> stack = ...
Move move = new Move();
move.value = 1;
move.row = 2;
move.subSquare = 3;
stack.push(move);

关于java - 如何在堆栈的索引处存储多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41515257/

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