1999年度のプログラミングIIIの授業は終りました。 この授業のページは参照用の資料として保存しているものです。最新の情報・資料は江上の授業ページで。 |
線形リストについて |
→ アルゴリズム・データ構造
・配列(array)
・スタック(stack)
・待ち行列(queue)
・リスト(list)
線形リスト(linear list) --- 単方向リスト
要素データと他の要素へのポインタによって線形に結合された構造
データを一方向にたどることができる
p.198 の問題についての補足
プログラムの動作について(強調文字は新しい(or)変更された部分)
各リスト(要素)は2つのメンバ(データ+ポインタ)を持つ構造体でできている
1) 動作12)動作2(リスト追加)
先頭 最後
↓ ↑NAKASIMA
? ← メンバ char name[30]; (データ) ← メンバ struct NODE *netxt; (ポインタ)
work[0] 3)動作3(さらに追加)
最後
↑先頭
↓NAKASIMA
? TAKADA
work[0]を指すwork[0] work[1] 4)動作4
最後
↑先頭
↓NAKASIMA
? TAKADA
work[0]を指すGOTOU
work[1]を指すwork[0] work[1] work[2]
先頭
↓最後
↑NAKASIMA
work[3]を指す TAKADA
work[0]を指すGOTOU
work[1]を指すTUNODA
? work[0] work[1] work[2] work[3]
この状態で [先頭] から [最後] まで辿ると、
"GOTOU" → "TAKADA" → "NAKASIMA" → "TUNODA"
と、テキストと同じになる。