注册 登录
编程论坛 数据结构与算法

在单链表中要插入一个新的值,有一个语句无法理解,有没有会的人指点一下

wyh416 发布于 2021-09-21 11:45, 3673 次点击
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;

}

}



表红的这一个循环语句中的东西
1 回复
#2
林月儿2021-09-29 10:59
程序代码:


s=(Slinknode*)malloc(sizeof(Slinknode));//分配内存
s->data=x;//节点数据域赋值
s->next=p->next;//节点指向p指向的节点,新增节点在首部加入,属于头插法
p->next=s;//p指向新增节点
return 1;

1