リスト処理の導入
前回説明した、配列に次のデータの場所を保存する手法と対比しながら、 リスト構造の説明を行う。次のデータの場所を覚える、末尾には目印として NULLを入れておくなど。
struct List { int data ; struct List* next ; } ; // 最初は、手作業で示す。 struct List* top ; top = (struct List*)malloc( sizeof( struct List ) ) ; top->data = 12 ; top->next = (struct List*)malloc( sizeof( struct List ) ) ; top->next->data = 34 ; top->next->next = (struct List*)malloc( sizeof( struct List ) ) ; top->next->next->data = 56 ; top->next->next->next = NULL ; struct List* p ; for( p = top ; p != NULL ; p = p->next ) printf( "%d\n" , p->data ) ;
簡単な練習として、リスト処理で合計やら検索などを演習させる。 来週は、入力しながらリスト生成などを示す予定。