【基本情報】リスト構造とは?配列との違いを図解でわかりやすく解説

一部プロモーションを含みます

基本情報-データ構造-リストと配列

この記事で解決できる内容

※タップすると該当箇所までジャンプできます。

コンピュータが読み書きしたり、表現するデータの構造には様々な種類があります。その中でも「リスト構造」と「配列構造」は似て非なるものとして違いが分かりづらいです。

本記事では、図解や例題を使って「リスト構造とは何か」「配列構造との違い」「各データ構造のメリット・デメリット」を初心者にもわかりやすく徹底解説します。

基本情報技術者試験やプログラミング学習にも役立つ内容を、実際の過去問例やおすすめのオンライン講座・動画教材も交えてまとめています。

ぺぺまる

この記事を読めば、「リスト構造」でつまずくことはもうありません。 ぜひ最後までご覧ください!

スキマ時間で基本情報技術者試験に合格したいあなたへ!

忙しくても合格を目指せる!

「スタディング 基本情報技術者講座」なら、スマホ1台で動画学習・過去問演習・要点チェックがすべて完結!
AIによる問題演習で効率よくインプットとアウトプットを繰り返すことが可能です!

スタディングの講座をチェックする

合わせて読みたい

基本情報技術者試験学習の始め方
【IT登竜門】基本情報技術者一発合格!おすすめの学習方法5選

続きを見る

【基本情報】リスト構造と配列構造の違いをわかりやすく解説!

リストを二つの1次元配列で実現する。配列要素 box[i] と next[i] の対がリストの一つの要素に対応し,box[i] に要素の値が入リ,next[i] に次の要素の番号が入る。配列が図の状態の場合,リストの3番目と4番目との間に値が H である要素を挿入したときの next[8] の値はどれか。ここで,next[0] がリストの先頭(1番目)の要素を指し,next[i] の値が0である要素はリストの最後を示し,next[i] の値が空白である要素はリストに連結されていない。

出典:平成30年春期 問6

選択肢
ア:3
イ:5
ウ:7
エ:8

今回解説していくのは上記のような問題です。

リスト構造と配列構造に関しての知識が無ければ問題文を読んでもちんぷんかんぷんになってしまいますので、「リスト構造」と「配列構造」について詳しく見ていきましょう。

問題を解くのに知っておきたい用語

  • リスト構造とは?
  • 1次元配列とは?

線形データ構造にはリスト構造配列構造がある

まずはデータ構造の種類【配列構造】と【リスト構造】についてまとめていきます。

特徴をざっくりまとめると以下。

  • 配列構造:添え字だけ
  • リスト構造:添え字とポインタで数珠つなぎになっているデータ

リスト構造とは?

要素のほかに「次はあそこだ!」と場所を指すポインタが組み合わさってデータが数珠つなぎにつながっているデータ構造のことです。

この数珠つなぎのようにつながっていることから連結リストとか線型リストとも呼ばれます。

リスト構造の種類

  • 単方向リスト→「前しか見えない」単方向にだけ進む構造
  • 双方向リスト→前も後ろも見えるので戻ることができる構造

今回の問題は単方向リストが使われています。

配列構造とは?

配列とはデータの塊のことで、データの入った複数の箱をひとつにまとめたものコインロッカーのようなものを想像するとわかりやすいです。

コインロッカーには中に荷物が入っていて、自分の入れた荷物はどこに入っているかわかるように番号がついています。

配列にも同じようにデータひとつひとつ(要素)が何処に入っているか分かるように印(添字)がついています。

リスト構造と他のデータ構造(スタック・キューなど)の違いと使い分けを解説

リストや配列の勉強をしていると、続いて「スタック」や「キュー」「木構造」など様々なデータ構造が出てきます。「線形とか非線形って…分類からしてもうわからない」と混乱することも多いところです。

リスト構造や配列構造は、線形データ構造というジャンルの中に属しており、他にスタックやキューなどがあります。一方で非線形データ構造も存在していて、木構造やグラフ構造などが存在しています。

ここからはリストや配列以外のデータ構造についてどんなものがあるのか、わかりやすく解説していきます。

リストや配列以外のデータ構造

  • 線形データ構造と非線形データ構造がある!?
  • スタック構造とは?後入れ先出しの仕組みとリスト構造との違い
  • キュー構造とは?先入れ先出しの特徴とリスト構造との違い
ぺぺまる

ではまず、「線形と非線形の違い」からサクッと見ていきましょう!

線形データ構造と非線形データ構造がある!?

データ構造は大きく線形データ構造」と「非線形データ構造」に分けられます。リスト構造や配列構造は線形に該当し、スタックやキューもこのカテゴリに含まれます。

線形データ構造は、要素が一列に並び、前後の関係が明確なため、順番通りのアクセスや操作が特徴です。一方、非線形データ構造は要素の配置が階層的・網状的で、複雑な関係性を持つのが特徴です。

分類代表例特徴
線形リスト
配列
スタック
キュー
要素が順番に並び、処理の流れが一方向または双方向
非線形木構造(二分木など)
グラフ構造
要素が親子・ネットワーク関係でつながっている

非線形データ構造は複雑なので、IT初心者の方は線形データ構造の仕組みと違いを理解するところから始めるといいです。特に、リスト構造とスタック・キューの違いを理解することは、基本情報技術者試験でも頻出ポイント。

スタック構造とは?後入れ先出しの仕組みとリスト構造との違い

スタック構造とは、「後入れ先出し(LIFO)」のルールで要素を扱う線形データ構造です。リスト構造と見た目は似ていますが、アクセス方法と使いどころに明確な違いがあります。

スタックは基本的に「最後に追加した要素から順に取り出す」設計で、操作はpush(追加)とpop(削除)のみ。一方でリスト構造は任意の位置に要素を追加・削除できる柔軟性があるため、使用目的が異なります

比較項目スタック構造リスト構造
操作ルール後入れ先出し(LIFO)任意位置の操作が可能
主な操作push / popinsert / delete
使いどころ戻る・履歴機能・再帰処理動的データ管理・探索処理
アクセス方法一方向・最後の要素から任意の場所にアクセス可能
イメージ例おもちゃ箱
最初に入れたおもちゃ取りづらい...
電車の車両
途中に入れたり外したりしやすい

つまり、スタックは「単機能だが処理に特化した構造」で、履歴管理や再帰処理に強みを発揮します。一方リスト構造は「柔軟性に優れた汎用構造」で、追加や削除が多いシーンに向いています。

キュー構造とは?先入れ先出しの特徴とリスト構造との違い

キュー構造とは、「先入れ先出し(FIFO)」のルールで要素を管理する線形データ構造です。最初に追加された要素が、最初に取り出されるという順番を重視した処理に向いています。

リスト構造が柔軟な追加・削除に対応できるのに対して、キューは常に「最後に追加して、先頭から取り出す」という厳密な順序管理が特徴です。そのため、処理待ち・順番待ちの管理に非常に適しています。

比較項目キュー構造リスト構造
操作ルール先入れ先出し(FIFO)任意の位置で挿入・削除可能
主な操作enqueue / dequeueinsert / delete
使いどころ・待機列
・プリントジョブ
・通信処理
・柔軟なデータ管理
・探索処理
アクセス方法一方向、先頭から順に処理任意のノードにアクセス可能
イメージ例ラーメン屋の行列
横入りされないように並んでもらう
電車の車両
途中に入れたり外したりしやすい

つまりキュー構造は、「順番を守るための最適なデータ構造」で、リスト構造とは目的も設計思想も異なります。試験や実務では、「どの構造をいつ使うか」を意識することが、設計や選定ミスを防ぐカギになります。

【リスト構造】を【配列構造】を用いて表現する

リストを二つの1次元配列で実現する。配列要素 box[i] と next[i] の対がリストの一つの要素に対応し,box[i] に要素の値が入リ,next[i] に次の要素の番号が入る。配列が図の状態の場合,リストの3番目と4番目との間に値が H である要素を挿入したときの next[8] の値はどれか。ここで,next[0] がリストの先頭(1番目)の要素を指し,next[i] の値が0である要素はリストの最後を示し,next[i] の値が空白である要素はリストに連結されていない。

出典:平成30年春期 問6

選択肢
ア:3
イ:5
ウ:7
エ:8

再び上記の問題を解いていきましょう。「リストを二つの1次元配列で実現する。」とか「next[i]って何を指してるのか」そもそもの問題文がとても分かりづらいですよね。

リスト構造はポインタを使って要素をつなぐのが基本ですが、配列構造を使って「要素+次の要素の位置(インデックス)」をセットで管理すれば、配列でもリストのような動きが再現できます。

そして次の文章でどのように表わすのか説明に入っていきます。

「配列要素 box[i] と next[i] の対がリストの一つの要素に対応し,box[i] に要素の値が入リ,next[i] に次の要素の番号が入る。」

ここもなんだかよくわからないですよね。

リスト構造は【要素】と【ポインタ】が数珠つなぎになっている構造

box[i]の要素とnext[i]の要素ってのがあって、ボックスって名前の要素には値が入ってもう一方のネクスト要素には次の要素の番号が入るって書いてあるので、

  • box[i]は要素を表している配列
  • next[i]はポインタを表している配列

と書かれているのを読み取ります。

「配列が図の状態の場合,リストの3番目と4番目との間に値が H である要素を挿入したときの next[8] の値はどれか。」

いやいや・・・リストの3番目と4番目の間ってどこやねん。

ってなっているのはわかります。

リスト構造の先頭はポインタスタートで次の要素が1番目

リストはポインタをたどる必要があるのでこのデータ構造の先頭は

ポインタであるnext[0]からたどっていくことになります。

このようにBの要素が入っている添字が2のリストは次のポインタが指す住所が0なのでここでこの配列は終了です。

これの3番目と4番目の間に値がHである要素を挿入するんです!

ここで注意点としてはnext[0]のときbox[0]には値は入っていないので

ちゃんと要素が入っているAが1番目になる点です。

Hをはbox[8]なのでnext[3]は8の値が入ります。

そして次の要素がGなのでnext[8]に入る値は7となります。

よって答えは7のウとなります。

データ構造理解におすすめの勉強方法

「データ構造の仕組は何となくわかったつもり。でもいざ過去問を見ると全然解けない...」そんな悩みがあるのも無理はありません。知識の点を線でつなぐ学習法にシフトすべきタイミングです。

基本情報技術者試験の出題範囲をしっかりカバーするには、あなたに合った学習スタイルで「理解→定着→演習」のサイクルを回すことが最も効果的です。ここからは、あなたの状況に合わせて選べる3つの学習方法を紹介します。

基本情報技術者試験おすすめの学習方法
学習手段おすすめ度特徴向いている人主なサービス例
本・参考書・費用が安い
・自分のペースで進められる
・網羅性が高い
・独学が得意な人
・紙で学習したい人
・キタミ式
・栢木先生
動画講座(Udemy)・映像で理解しやすい
・1講座単位で学べる
・レビューが豊富
・図や動きで理解したい人
・短期集中型
・Udemy
・YouTube
オンライン通信講座・カリキュラムが組まれている
・質問サポートあり
・スキマ時間に学べる
・効率的に合格したい人
・学習管理が苦手な人
・BizLearn
・スタディング
ぺぺまる

これらの教材をうまく活用すれば、「理解したつもり」を卒業し、実際に解ける・説明できる力が身につきます。
自分に合ったスタイルで、効率よく合格を目指しましょう!

オンライン通信講座【スタディング・Bizlearn】

リスト構造や配列構造といったデータ構造を体系的に理解したいなら、オンライン通信講座で学ぶのが最も効率的な方法です。

通信講座は、初学者でもつまずきやすい「ポインタ」「リストの操作」などを、図解や講師の解説で視覚的に理解できるのが大きなメリット。そのため独学よりも挫折しにくく、学習計画も自動化されているため、仕事や学業と両立しやすいのもポイントです。

サービス名特徴向いている人
スタディング試験範囲を短時間で網羅。スマホ対応◎忙しい社会人、スキマ時間学習
Bizlearn情報処理分野に特化。演習量が豊富IT初心者〜中級者の基礎固めに

理解が曖昧なままリスト構造を放置してしまうと、スタック・キュー・木構造といった他のデータ構造が出てきたときに混乱してしまいます。「試験対策+本質理解」を両立できる通信講座は、短期間での合格を目指すなら最適な選択肢といえるでしょう。

スキマ時間で基本情報技術者試験に合格したいあなたへ!

忙しくても合格を目指せる!

「スタディング 基本情報技術者講座」なら、スマホ1台で動画学習・過去問演習・要点チェックがすべて完結!
AIによる問題演習で効率よくインプットとアウトプットを繰り返すことが可能です!

スタディングの講座をチェックする

動画教材【Udemy】

リスト構造や配列構造を「図で理解したい」「音声で学びたい」と感じているなら、Udemyの動画講座もわかりやすくておすすめです。特にポインタの動きや要素の追加・削除といったリスト構造の動作は、テキストだけではイメージしづらい場面が多いです。

Udemyの講座では、実際のコード・図解・アニメーションを組み合わせて学べるため、「理解したつもり」が「説明できるレベル」まで引き上げられます。

おすすめのUdemy講座

講座名特徴向いている人
参考書の著者直伝!【基本情報技術者試験 科目A】講座擬似言語やアルゴリズム
データ構造などを体系的に学べる
過去問ベースで解説も丁寧
試験範囲を広く網羅したい人
最短合格を目指す人
基本情報技術者試験 最速 合格講座C言語や配列
ポインタなど実装寄りの基礎から応用まで幅広く学べる
リスト構造の実装に不安がある人
言語を使って理解したい人
ITパスポート+基本情報技術者を"理解しながら"学ぶ講座データ構造の前提となる
IT基礎やネットワークを動画でやさしく解説
超初心者
まずはIT知識全体を把握したい人

忙しくてもスキマ時間で理解を深めたいなら、動画教材は最強の学習手段です。再生速度調整や倍速視聴にも対応しているので、効率よく「見てわかる学習」を進めましょう。

合わせて読みたい

Udemyの基本情報技術者試験対策おすすめ講座
Udemyで基本情報技術者試験合格を目指す!おすすめ講座5選!

続きを見る

参考書・問題集

リスト構造を正しく理解し、試験本番で得点につなげたいなら、参考書と問題集で体系的にインプット・アウトプットするのも効果的です

参考書は図解や段階的な説明が豊富で、「なんとなくわかったつもり」を防いでくれます。さらに過去問付き問題集を活用すれば、本番形式で知識を定着でき、苦手なパターンも把握できるようになります。

基本情報技術者試験の独学におすすめの参考書
書籍名購入リンクおすすめポイントこんな人におすすめ
栢木先生:基本情報技術者試験
栢木先生の基本情報技術者教室

Amazonで見る

・教科書と問題集がオールインワン
・イラスト/図解/例えが豊富
・まずは楽しく学びたい人向け
・文章だけだと続かない人
キタミ式:基本情報技術者試験
キタミ式イラストIT塾 基本情報技術者

Amazonで見る

・IT初心者でもわかりやすい
・大容量816ページ
・IT初心者
・他の本で挫折しそうな人
合格教本:基本情報技術者試験
基本情報技術者 合格教本

Amazonで見る

・問題演習Webアプリと連動
・出題傾向がつかめる
・演習中心で学びたい人向け
・苦手克服や直前対策をしたい人

数千円で買えるので、余裕がある人はUdemy講座と併用して問題集も買ってもらえれば、知識の「理解→定着→再現」まで一気にレベルアップできます。試験合格を本気で狙うなら、参考書と問題演習は欠かせない武器です。

合わせて読みたい

基本情報おすすめ参考書5選
基本情報技術者試験おすすめ参考書10選|独学で合格するための最新版テキストを厳選!【令和7年度対応】

続きを見る

まとめ:リスト構造と配列構造の違いを理解して得点源に!

リスト構造と配列構造は、基本情報技術者試験の「データ構造」分野で頻出の超重要テーマです。

「ポインタってなに?」「next[i]の意味がわからない…」と感じた方も、今回の記事を通じてリスト構造のしくみと配列構造との違いが視覚的に整理できたはずです。

また、実際の過去問を使って「どこが問われているのか」「どう読み取れば解けるのか」まで深掘りしました。これを機に、以下のような次の一歩に進んでみましょう!

「試験で使える知識」として定着させたいなら、参考書や動画教材と並行して、問題演習を積むのが近道です。ぜひ、自分に合った学習方法を選んで、合格にグッと近づいてくださいね!

  • この記事を書いた人

ぺぺまる

 
\ 資格取得が、自信をくれた /

札幌生まれ札幌育ちの28歳|IT資格ブログ歴3年|アウトプットブログ ▶IT資格特化ブログ 
何者でもなかった自分が「自信」を持てたきっかけは、1つの資格取得でした。 
このブログでは、IT資格を目指す人に向けて、勉強法・おすすめ教材・試験のリアルな体験談を発信中。 「資格を取って、未来を変えたい」そんなあなたの一歩を応援します。

-基本情報技術者試験
-