阿摩線上測驗 登入

申論題資訊

試卷:104年 - 104 經濟部所屬事業機構_新進職員甄試_資訊:1.資訊管理、2.程式設計#60426
科目:國營事業◆1.資訊管理 2.程式設計
年份:104年
排序:0

題組內容

五、如欲以結構化程式設計方式利用堆疊設計一簡易撲克牌遊戲發牌系統,包含洗牌、切牌及發牌,以數字1~52代表撲克牌52張牌,堆疊陣列R[0..51]儲存代表52張撲克牌之數字, R[51]為底部第52張牌,R[0]為頂部第1張牌:

申論題內容

(二)已用隨機方式選擇從陣列R第20張牌(R[19])切牌,並開始取出發牌,請問取出發牌的順序為何?請以R陣列內含引數R[i]方式表示。(5分)

詳解 (共 3 筆)

詳解 提供者:Lin Jin
我的看法
從第一小題有[以堆疊填入陣列R底部],表示加入刪除端是在底部,數字大的那一端,我把此端稱為Top,因此一個Stack 只在Top端加入刪除。
切牌代表 0-19 與 20-51 上下交換19變成Top端,因此順序是20-51,0-19,從Top端加入刪除,所以從右開始刪除,得發牌順序:
19,18,17,...,51,50,...,20
詳解 提供者:倫敦咖啡貓
我覺得從底部開始拿是因為上一小題放入資料也是從底部放入,所以基於堆疊特性,拿出也要從底部拿出。(但我們學的都是從top拿出...)
詳解 提供者:Yu

幫樓上補血, 堆疊的特性就是"先進後出"或"後進先出"

沒有所謂的top, top只是畫圖上我們從上面放進去一個管子內的一個方向概念

所以依題目看 就只是把我們常見的堆疊倒過來看而已, 想想計組的記憶體就可以了