纠结了一个问题------------↓
程序代码:int InitDlink(DlinkList * head) //初始化 这里为什么要用2级指针呢?
{
*head=APL;
if(NULL == *head)
return -1;
else
(*head)->next=*head;
(*head)->prior=*head;
return 1;
}
DlinkList CreatDlink(DlinkList head,int n) //创建链表
{
DlinkList p , s;
DataType e;
if(InitDlink(&head))
p=head;
else
return NULL;
while(n)
{
s=APL;
if(NULL == s)
return NULL;
printf("请输入节点数据:");
scanf("%d",&e);
s->data=e; //连接新结点
s->next=p->next; //这个地方为什么不能改成head p->next 本身就是head啊 ?
s->prior=p;
p->next=s;
head->prior=s;
n--;
}
return (head);
}
纠结的问题都再注释后面提出来了







只能人工了


