ポインタ | データ |
次のセル | データ1 |
次のセル | データ2 |
次のセル | データn-1 |
null | データn |
/*★ List 連鎖の基礎 前田 稔 ★*/ #include <stdio.h> struct LST { struct LST *pt; int v; }; struct LST *top= NULL; //List の先頭ポインタ |
//☆ MAIN void main() { int i; struct LST *wk; //List を連鎖 for(i=1; i<6; i++) { wk= new LST; wk->v= i; wk->pt= top; top= wk; } |
//List をたどって印字 for(wk=top; wk!=NULL; wk=wk->pt) printf("%5d",wk->v); |
//List を開放 free(top); } |
// 再帰で領域を開放する void free(struct LST *lst) { if (lst==NULL) return; free(lst->pt); printf("%3d開放",lst->v); delete lst; return; } |