1999年度のプログラミングIIIの授業は終りました。 この授業のページは参照用の資料として保存しているものです。最新の情報・資料は江上の授業ページで。
[EGAMIX トップ] > [授業のページ] > [1999年度 プログラミングIII] > [授業ノート・資料]

[Back] [Index]
 
線形リストについて

 
基本的なデータ構造
→ アルゴリズム・データ構造
 
・配列(array)
・スタック(stack)
・待ち行列(queue)
リスト(list)
  線形リスト(linear list) --- 単方向リスト
    要素データと他の要素へのポインタによって線形に結合された構造
    データを一方向にたどることができる


p.198 の問題についての補足

プログラムの動作について(強調文字は新しい(or)変更された部分)
 
各リスト(要素)は2つのメンバ(データ+ポインタ)を持つ構造体でできている
 
1) 動作1
 
先頭 最後
↓   ↑
NAKASIMA

← メンバ char name[30];   (データ)

← メンバ struct NODE *netxt; (ポインタ)

work[0]
2)動作2(リスト追加)
 
最後
先頭
NAKASIMA 

TAKADA


work[0]を指す 
work[0]
work[1]
3)動作3(さらに追加)
 
最後
先頭
NAKASIMA 

TAKADA


work[0]を指す 
GOTOU


work[1]を指す
work[0]
work[1]
work[2]
4)動作4
 
先頭
最後
NAKASIMA 

work[3]を指す 
TAKADA


work[0]を指す 
GOTOU


work[1]を指す
TUNODA
work[0]
work[1]
work[2]
work[3]
 
この状態で [先頭] から [最後] まで辿ると、
  "GOTOU" → "TAKADA" → "NAKASIMA" → "TUNODA"
と、テキストと同じになる。


 
  
[Back] [Index]


egami@egamix.com