链表的创立
链表的基础为结构体
struct link
{
int data; //数据域
struct link *next; //指针域,就是这一部分将每一个数字链接起来
}
链表函数
struct link *ADD(struct link *head)
{
struct link *p=NULL,*pr=head;//p是新创建的一个结构体,pr则是用于辅助将添加的位置找到的
int data;//需要输入新的数字
p=(struct link *)mallock(sizeof(struct link));//申请动态内存
if(p==NULL) exit(0);//若申请失败,则退出
else
{
if(head==NULL) head=p;//若为第一个数,则将p作为头指针;
else
{
while(pr->next!=NULL)
{
pr=pr->next;//将指针位置移动到最末尾
}
pr->next=p;
}
}
scanf("%d",&data);
p->data=data; 对新建节点的数据域赋值
return head;//返回头指针
}
链表的打印
while(head!=NULL)
{
printf("%d\t",head->data);
head=head->next;
printf("\n");
}