内部収納と外部収納の例とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 内部収納と外部収納の例の意味・解説 

内部収納と外部収納の例

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/29 20:30 UTC 版)

連結リスト」の記事における「内部収納と外部収納の例」の解説

ここでは、家族その構成員の連結リスト処理するコードを例として示す。内部収納場合構造体次のうになるrecord member { // 家族メンバー member next string firstName integer age } record family { // 家族 family next string lastName string address member members // この家族メンバーリスト先頭 } 家族リストと各家族メンバー表示するルーチンは、内部収納場合次のうになる。 aFamily := Families // 家族リスト先頭から開始 while aFamily ≠ null { // 家族リスト上でループ 家族に関する情報印字 aMember := aFamily.members // その家族メンバーリスト先頭を得る while aMember ≠ null { // メンバーリスト上でループ メンバーに関する情報印字 aMember := aMember.next } aFamily := aFamily.next } 外部収納を使うと、構造体次のうになるrecord node { // 汎用リンク構造体 node next pointer data // ノード付属するデータを指す汎用ポインタ } record member { // 家族構成に関する構造体 string firstName integer age } record family { // 家族に関する構造体 string lastName string address node members // この家族メンバーリスト先頭 } 家族リストと各家族メンバー表示するルーチンは、外部収納場合次のうになる。 famNode := Families // 家族リスト先頭から開始 while famNode ≠ null { // 家族リスト上でループ aFamily = (family)famNode.data // ノードから家族データ構造体を取り出す 家族に関する情報印字 memNode := aFamily.members // その家族メンバーリスト先頭を得る while memNode ≠ null { // メンバーリスト上でループ aMember := (member)memNode.data // ノードからメンバーデータ構造体取り出す メンバーに関する情報印字 memNode := memNode.next } famNode := famNode.next } 外部収納使った場合データ構造体を取り出して型変換するという余分なステップ必要になる。これは、2種類連結リストが同じデータ構造node)を使っているためである。 あるメンバーがいくつの家族属することができるかがコンパイル時に分かっている場合内部収納の方が適している。しかし、1人メンバー任意の個数家族属す可能性がある場合、かつその数が実行時ならない分からない場合外部収納にする必要がある

※この「内部収納と外部収納の例」の解説は、「連結リスト」の解説の一部です。
「内部収納と外部収納の例」を含む「連結リスト」の記事については、「連結リスト」の概要を参照ください。

ウィキペディア小見出し辞書の「内部収納と外部収納の例」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「内部収納と外部収納の例」の関連用語

内部収納と外部収納の例のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



内部収納と外部収納の例のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの連結リスト (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS