【发布时间】:2012-10-06 02:59:12
【问题描述】:
我正在尝试制作简单的扑克游戏,并指出 A 的“数字”可能是 13 或 0(A 高与 A 低)。当我使用冒泡排序来确定顺子时,我想将 Ace 的编号分配给 1 和 13。我知道 Java 不支持动态变量,但是有没有一种方法可以在这种情况下返回两个值的 int一种被解读为非此即彼的方式?
【问题讨论】:
我正在尝试制作简单的扑克游戏,并指出 A 的“数字”可能是 13 或 0(A 高与 A 低)。当我使用冒泡排序来确定顺子时,我想将 Ace 的编号分配给 1 和 13。我知道 Java 不支持动态变量,但是有没有一种方法可以在这种情况下返回两个值的 int一种被解读为非此即彼的方式?
【问题讨论】:
为什么你不返回一个包含两个元素的向量? 另一种方法是在 Java 中创建一个元组,解决方案在这里: Using Pairs or 2-tuples in Java
【讨论】:
如果在冒泡排序的每次迭代中,您都进行具有 2 个可能值的比较,根据您的比较方式,您最终会得到不一致的排序,例如:
您希望这些输入的排序结果是什么: K(11), A(01,13), Q(12) 在第一步之后,您希望 A 处于第 1 位还是第 3 位?
最简单的方法可能是对它进行两次排序,每次都有不同的 Ace 值
【讨论】: