69,369
社区成员
发帖
与我相关
我的任务
分享
bool insert_list(PNODE Phead,int pos,int val)
{
int i=0;
PNODE P=Phead;
while(NULL!=P&&i<pos-1)
{
P=P->Pnext;
i++;
}
if(i>pos-1||NULL==P)
return false;
PNODE Pnew=(PNODE)malloc(sizeof(NODE));
if(Pnew==NULL)
{
printf("内存分配失败");
exit(-1);
}
Pnew->data=val;
PNODE q=P->Pnext;
P->Pnext=Pnew;
Pnew->Pnext=q;
return true;
}
这段代码可以实现在链表中插入一个新的节点,写的很牛,可我一直搞不明白它是如何实现的,能否有大神解答一下