1.在声明一个链表后
Linklist Creatlist(int n) //创建链表 ,链表的头结点不存放数据,这样方便以后的插入和删除操作
{
Linklist L,p,q,r;
L=(Linklist)malloc(sizeof(Node));
p=L; //
int num;
for (int i=1;i<=n;i++)
{
q=(Linklist)malloc(sizeof(Node));
cout<<"请输入第"<<i<<"结点数据:" ;
cin>>num;
q->data=num;
p->next=q; //这里第一次是指头结点(不存放数据)指向存放数据的第一个结点,然后依次循环
p=q; //注意尾节点的变化
}
p->next=NULL; //注意尾节点的条件,这里的条件将来会在打印链表或者打印链表长度的时候起关键作用
cout<<"输入完毕"<<endl;
return L;
}
链表结尾p->next要赋值为NULL,即p->next=NULL,否则在其他函数中调用链表的时候会出问题(例如循环条件不符合或者出错)。
2.想到再说。。。。。