①头插法:
void CreateList(LinkList &L,int n)
{
L=new LNode;
L->next=NULL;//建立一个空的单链表
for(int i=n;i>0;i--)//注意这里是逆序
{
p=new LNode;
scanf("%d",&p->data);
p->next=L->next;
L->next=p;
}
}
注:使用头插法时,数据应逆序输入。
②尾插法:
void CreateList(LinkList &L,int n)
{
L=new LNode;
L->next=NULL;
LinkList r;
r=L;//尾指针r指向头结点
for(int i=0;i<n;i++)
{
p=new LNode;
p->next=NULL;
r->next=p;//插入到表尾
r=p;//指向新的尾节点
}
}