データ構造(スタック・キュー)とは?わかりやすく解説
データの並べ方・取り出し方の代表、スタックとキューなどを学びます。
最初に考えてみよう
データを何となく並べておくと、あとで探す、追加する、並べ替えるときに手間がかかります。どうすれば、目的に合わせてデータを扱いやすく整理できるのでしょうか?
解説
1スタック = 後入れ先出し(LIFO)
机に積んだ本のように、上(最後に入れた所)から出ます。pushで積み、popで取り出そう。
- 1
- 2
- 入れた順
- 1 → 2
- 出た順
- —
まず push と pop を押して、どの箱が出てくるか見てみよう。
2キュー = 先入れ先出し(FIFO)
レジの行列のように、先頭(最初に並んだ人)から出ます。末尾に並べ、先頭から取り出そう。
- 1
- 2
- 入れた順
- 1 → 2
- 出た順
- —
enqueue と dequeue を押して、だれが列から出るか見てみよう。
3ほかのデータ構造
試験のポイント
ITパスポート試験での問われ方
スタックとキューの取り出し順、LIFO/FIFOの対応が問われる
間違えやすいポイント
- スタックとキューを逆にする
- LIFOとFIFOを取り違える
関連用語
図解の内容を文章で読む
データ構造(スタック・キュー)をイメージでつかむ
データ構造は、データを整理して扱う形です。スタックは後に入れたものを先に取り出すLIFO(後入れ先出し)、キューは先に入れたものを先に取り出すFIFO(先入れ先出し)。ほかに、順番に並べた配列やリスト、枝分かれする木構造があります。
たとえると:スタックは机に積んだ本(上=最後に置いた本から取る)、キューはレジの行列(先に並んだ人から会計)です。
データ構造は、データを取り出しやすいように並べて管理する「入れ物の形」です。代表がスタックとキューで、違いは取り出す順番だけです。スタックは机に積んだ本のように、最後に入れたものを最初に取り出します(LIFO=後入れ先出し)。入れる操作をプッシュ、取り出す操作をポップと呼びます。キューはレジの行列のように、最初に入れたものから順に取り出します(FIFO=先入れ先出し)。ほかに、番号で管理する配列、要素をつなぎ合わせるリスト、枝分かれで階層を表す木構造があります。試験では「A、B、Cの順に入れて2回取り出すと何が出るか」のような具体的な出し入れの問題が定番です。積んだ本と行列のイメージで確実に判断できます。
押さえどころ
- スタック=LIFO(後入れ先出し)
- キュー=FIFO(先入れ先出し)
- 配列・リスト・木構造もある
確認問題(4問)
確認問題は本サービスのオリジナル問題です。ログインなしで解けます(結果は保存されません)。
「データ構造(スタック・キュー)」に関連する過去問(2問)
このテーマが主題の問題はまだありませんが、関連する用語が問題文や選択肢に出てくる公開問題を集めました。
あわせて覚える英略語
つながるテーマ
学習を記録して、合格まで続ける
教材と確認問題はこのページで全部無料で使えます。登録すると「データ構造(スタック・キュー)」の結果や習熟度が記録され、苦手分野の復習提案、試験日までの学習計画、合格準備度の見える化が使えます。最初の7日間は学習記録も無料です。