![]()
| ポインタ | データ |
| 次のセル | データ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;
}
|
![]()