13.6 方法merge
我们需要的下一个辅助方法是 merge,让它接受两个排好序的 Deck 对象,并返回一个新的 Deck 对象,新对象包含前两个 Deck 对象中的所有扑克牌,且这些扑克牌是按顺序排列的。这个方法的伪代码类似于下面这样(其中 d1 和 d2 是要进行合并排序的 Deck 对象):
public static Deck merge(Deck d1, Deck d2) {// 新建一个可容纳所有扑克牌的Deck对象// 用索引i和j来分别记录当前我们位于两个传入的Deck对象的什么位置int i = 0;int j = 0;// 用索引k来遍历新创建的Deck对象(result)for (int k = 0; k < result.cards.length; k++) {// 如果d1为空,则d2获胜// 如果d2为空,则d1获胜// 如果d1和d2都不为空,则对两张牌进行比较// 将获胜的牌加入新创建的Deck对象中,并放在索引k指定的位置// 将i或j加1}// 返回新创建的Deck对象}
本章末尾有一个练习,要求你实现方法 merge。
