链表的构建需要用到结构体,所以第一步先来构建结构体:
struct lianbiao{
int n; //链表的数据项
struct lianbiao *next; //链表的指针项
}*T,*H,*L;
构建结构体后需要为结构体分配存储空间:
H=(struct lianbiao*)malloc(sizeof(struct lianbiao));
H->next=NULL;
然后进行数据输入:
数据输入分为两种方法,一种是头插法,一种是尾插法,具体操作如下:
头插法
printf("要输入的长度为:");
scanf("%d",&x);
for(i=1;i<=x;i++)
{
T=(struct lianbiao*)malloc(sizeof(struct lianbiao));
T->next=NULL;
printf("请输入第%d位数:",i);
scanf("%d",&T->n);
T->next=H->next;
H->next=T;
}
尾插法
L=H;
printf("要输入的长度为:");
scanf("%d",&x);
for(i=1;i<=x;i++)
{
T=(struct lianbiao*)malloc(sizeof(struct lianbiao));
T->next=NULL;
printf("请输入第%d位数:",i);
scanf("%d",&T->n);
H->next=T;
H=T;
}
输出链表中存储的数据:
T=H->next;
while(T)
{
printf("%d ",T->n);
T=T->next;
}