Algs4-2.1.14出列排序
2.1.14出列排序。说说你会如何将一副扑克牌排序,限制条件是只能查看最上面的两张牌,交换最上面的两张牌,或是将最上面的一张牌放到这摞牌的最下面。
答:
1)一开始有一叠牌,称为第一叠牌
2)翻开第一叠顶上的两张牌
3)如果上面的牌小于下面的牌,交换两张牌的位置
4)将第一叠最上的牌放到第二叠牌的最下面
5)如此反复的翻开第一叠牌顶上的两张牌进行对比,交换,移至第二叠牌的最后,直到第一叠牌只剩下一张时,这张牌就是最小的牌。将它从第一叠牌中移出。
6)原有的第一叠牌已无牌,将原有的第二叠牌视为第一叠牌。
7)如此反复的从上述第1点开始进行,直到所有的牌都出列。出列次序即是由小到大排序后的牌。