在单链表中要插入一个新的值,有一个语句无法理解,有没有会的人指点一下
int InsElem(Slinknode *&L,ElemType x,int i){ int j=0;
Slinknode *p=L,*s;
if(i<=0)return0;
while(p!=NULL &&j<i-1)
{j++;
p=p->next;
}
if (p==NULL)
return 0;
else
{
s=(Slinknode*)malloc(sizeof(Slinknode))
s->data=x;
s->next=p->next;
p->next=s;
return 1;
}
}
表红的这一个循环语句中的东西