19.5 佇列與堆疊

考卷用 C(19.1),沒有 queue、stack 這種現成容器,取而代之的是一個陣列配一兩個索引變數。看懂那幾個索引指著哪一格,題目就解掉一半。

先分清楚兩者的差別:

  • 佇列(queue):先進先出(FIFO),像排隊買票,先排的先走。
  • 堆疊(stack):後進先出(LIFO),像一疊盤子,最後放上去的最先被拿走。

佇列:head 與 tail

head 指著下一個要出去的位置,tail 指著下一個要放進去的空位:

登入後即可閱讀完整內容

語法書免費開放給所有 AACPOJ 帳號,註冊只要一分鐘。