過去問ハブ🔥 0日
データ構造とアルゴリズムリスト・スタック・キュー・木構造難易度 標準11 / 50

空のスタック S と空のキュー Q に対して、push(S, 3) → push(S, 8) → enqueue(Q, pop(S)) → push(S, 5) → enqueue(Q, 1) → enqueue(Q, pop(S)) → dequeue(Q) の操作を順に実行した。最後の dequeue(Q) で取り出される値はどれか。

選択肢をタップすると、その場で答え合わせできます

正解と解説を見る

正解 D8

解説

正解は「8」です。スタックは最後に入れたデータを最初に取り出す LIFO、キューは最初に入れたデータを最初に取り出す FIFO のデータ構造です。順に追うと、2回の push で S は [3, 8] となり、pop(S) で8が取り出されて Q=[8] になります。次に push(S, 5) で S=[3, 5]、enqueue(Q, 1) で Q=[8, 1]、pop(S) で5が取り出されて Q=[8, 1, 5] です。最後の dequeue(Q) はキューの先頭の8を取り出します。「5」はキューを LIFO と誤り、最後に入れた値を取り出した場合です。「1」は2番目に入れた値です。「3」はスタックの底に残っている値で、キューには入っていません。

  • #スタック
  • #キュー

この調子でデータ構造とアルゴリズムを続けて解く

▶ この科目の連続演習へ進む(10問)

この問題の分野を深く学ぶなら

PR情報工学・理系基礎の教科書を探す

詳細を見る

データ構造とアルゴリズムの問題一覧へ戻る

「リスト・スタック・キュー・木構造」の関連問題