演習問題1
(1)循環リストのイメージ図を書こう (教科書を真似る)
(2)循環リストにおいて、データを追加するにはどのようなアルゴリズムが必要になるか?
ヒント:線形リストではどの ように追加したか思い出そう.
演習問題2
(1)双方向リストのイメージ図を書こう(教科書を真似る)
(2) 双方向リストを表現する構造体を書け.
(3)双方向リストにデータを追加するにはどのようなアルゴリズムが必要になるか?
演習問題3
(1)循環・双方向リストのイメージ図を書こう(教科書を真似る)
(2)循環・双方向リストを表現する構造体を書け
(3)循環・双方向リストにデータを追加するにはどのようなアルゴリズムが必要になるか?
演習問題4
循環リストの先頭へ追加された状態(および末尾へ追加された状態)の図をそれぞれ書いてください。(1枚づつでOK)
その状態 になるための、C言語のコードをそれぞれ書いてください。
演習問題5
次のプログラムを改良せよ
dllist.c
#include<stdio.h>#include<stdlib.h>/*--- ノード ---*/typedef struct _team{ char *name; //球団名 struct _team *next; //次の球団の位置 //前の球団の位置}Team;Team *head,tail; /* 先頭ノードへのポインタ */Team *now,*new;void main(){ //先頭の初期化 head = NULL; new = calloc(1, sizeof(Team)); new->name="Fighters"; head =new; now= new;}