跳到正文

平成30年度 秋期 ITパスポート試験 問76

这道题的解析和你的作答记录。

問76
頻出度★☆☆

複数のデータが格納されているスタックからのデータの取出し方として, 適切なものはどれか。

出典 平成30年度 秋期 ITパスポート試験 問76
解説

問 76栈是后进先出(LIFO)

  • 错误ア

    与存入顺序无关、能取出任意位置的数据,这是「数组」等可通过下标直接访问的数据结构的特征。栈始终只能从最上面取出,所以错误。

  • イ

    正解 栈是「后进先出(LIFO)」的数据结构。把数据压入的操作称为 push,取出的操作称为 pop,pop 时总是从最上面(即最后 push 的最新数据)取出。因此「最后存入的数据最先取出」(选项イ)才是正确的取出方式。可以想象把盘子一摞摞叠起来、每次都从最上面取的情形,就容易理解了。

  • 错误ウ

    「最先存入的数据最先取出」是「先进先出(FIFO)」,这是对「队列(等待队列)」的描述。它的取出顺序与栈相反,所以错误。

  • 错误エ

    按数据所带键的优先级取出,这是「优先级队列(优先队列)」的思路。栈的取出顺序只由存入的先后关系决定,而不是优先级,所以错误。

ここがポイント
  • 栈是后进先出(LIFO)。用 push 压入,pop 时从最后压入的最新数据开始取出。
  • 对比:队列是先进先出(FIFO)。这种「取出顺序的不同」正是区分栈和队列的要点。
用語
解答問76イ
练这一题

作答记录