FE Study
FE Study メニュー

学習記録はこのブラウザー内に保存されます。

ホーム問題を解く
ログイン不要・無料で学習

ONE QUESTION, ONE STEP

連結リストを学ぼう

選んで、確かめて、理解する。焦らず進めましょう。

科目Bアルゴリズム標準
QUESTION 56

単方向リストを、値を持つdataと次の要素番号を持つnextの二つの配列で表す。要素番号は1から始まり、nextの値0はリストの終端であって配列の要素番号ではない。先頭は要素1である。次の処理で要素4を挿入した後、出力される値の順序はどれか。 整数型の配列: data ← {10, 20, 30, 25} 整数型の配列: next ← {2, 3, 0, 0} 整数型: current next[4] ← next[2] next[2] ← 4 current ← 1 while (current ≠ 0) data[current]を出力する current ← next[current] endwhile

出典:本サイト オリジナル教材(2026年)

本サイトで独自に作成。IPAの試験問題からの転載ではありません。

公開日:

解答を一つ選んでください

選択肢を選んで、答え合わせをしましょう。

回答せずに正解・解説を確認する

正解:ア 10、20、25、30

この表示だけでは、回答数や正答率は変わりません。

解説

まずnext[4]へ元のnext[2]の3を保存し、次にnext[2]を4へ変更します。リンクの順は1 → 2 → 4 → 3 → 0です。この順にdataを読むため、10、20、25、30を出力します。配列dataの物理的な順番自体は変えていません。

ア

要素番号1、2、4、3をたどり、それぞれの値を出力した順序です。

イ

dataを要素番号順に読む場合の並びです。今回はnextで決まるリンク順に読みます。

ウ

挿入位置は要素1の後ではなく、要素2の後です。

エ

next[4]には3が保存されるため、25の後に30も出力されます。

関連知識

挿入では元の後続要素への参照を失わないことが重要です。next[2]を先に4へ変え、その値をnext[4]へコピーすると、自分自身を指すリンクができて正しくたどれません。

間違えやすいポイント

配列に格納された順序と、リンクをたどる論理的な順序を区別します。currentが0になったら停止し、data[0]は読みません。

覚え方

後ろへのつながりを保存してから、新しい要素へつなぐ。

実務での意味

空き領域の管理や、順序を頻繁に変更するデータ構造の仕組みを理解するのに役立ちます。

解説:本サイト編集部によるオリジナル文章

この問題の前後に、アルゴリズムの基礎知識ガイドで、 仕組み・比較・解き方を確認できます。 手順を確かめたい方は連続達成回数を求める擬似言語を、一行ずつ追跡するの実習へ。 この問題の誤りを報告する(GitHub)。問題IDとURLを入力した下書きが開きます。自動投稿は行いません。 投稿は公開されるため、氏名・住所・メールアドレス・学習記録は記入しないでください。 詳しくはお問い合わせ窓口をご覧ください。