主题:列表的插入问题求各位帮帮我
节点插入函数的问题
NODE* insertnode(NODE* plist,NODE* ppre,DATA item)
{
NODE* pnew;
if(!(pnew=(NODE*)malloc(sizeof(NODE))))
printf("\amemory overflow in insert\n"),
exit(100);
pnew->data=item;
if(ppre==NULL)//判断是否是第一个节点或者是空列表,似乎也能判断是否是结尾节点 请各位帮我分析一下这个逻辑问题 谢谢
{
pnew->link=plist;
plist=pnew;
}
else//中间节点或者结尾
{
pnew->link=ppre->link;
ppre->link=pnew;
}
return plist;
}
NODE* insertnode(NODE* plist,NODE* ppre,DATA item)
{
NODE* pnew;
if(!(pnew=(NODE*)malloc(sizeof(NODE))))
printf("\amemory overflow in insert\n"),
exit(100);
pnew->data=item;
if(ppre==NULL)//判断是否是第一个节点或者是空列表,似乎也能判断是否是结尾节点 请各位帮我分析一下这个逻辑问题 谢谢
{
pnew->link=plist;
plist=pnew;
}
else//中间节点或者结尾
{
pnew->link=ppre->link;
ppre->link=pnew;
}
return plist;
}