1. 程式人生 > >Algs4-2.1.14出列排序

Algs4-2.1.14出列排序

條件 排序 對比 最小 兩張 開始 所有 位置 撲克牌

2.1.14出列排序。說說你會如何將一副撲克牌排序,限制條件是只能查看最上面的兩張牌,交換最上面的兩張牌,或是將最上面的一張牌放到這摞牌的最下面。
答:
1)一開始有一疊牌,稱為第一疊牌
2)翻開第一疊頂上的兩張牌
3)如果上面的牌小於下面的牌,交換兩張牌的位置
4)將第一疊最上的牌放到第二疊牌的最下面
5)如此反復的翻開第一疊牌頂上的兩張牌進行對比,交換,移至第二疊牌的最後,直到第一疊牌只剩下一張時,這張牌就是最小的牌。將它從第一疊牌中移出。
6)原有的第一疊牌已無牌,將原有的第二疊牌視為第一疊牌。
7)如此反復的從上述第1點開始進行,直到所有的牌都出列。出列次序即是由小到大排序後的牌。

Algs4-2.1.14出列排序