C 如何在指针列表的末尾添加一个元素?
我不熟悉C和指针操作。因此,如果我想在列表的末尾添加一个元素,我该如何管理它呢?我试过C 如何在指针列表的末尾添加一个元素?,c,list,pointers,linked-list,append,C,List,Pointers,Linked List,Append,我不熟悉C和指针操作。因此,如果我想在列表的末尾添加一个元素,我该如何管理它呢?我试过node*temp=*head保存磁头地址而不进行更改。然后while(temp){temp=temp->next}。显然,临时工只得到一份浅薄的副本。如何实现此功能。多谢各位 您应该首先遍历到原始列表的末尾(基于最后一个列表的下一个是NULL)。然后简单地将它添加到那里 像这样: void add_end(node** head, node* new_node) { if(*head==NULL)
node*temp=*head
保存磁头地址而不进行更改。然后while(temp){temp=temp->next}
。显然,临时工只得到一份浅薄的副本。如何实现此功能。多谢各位 您应该首先遍历到原始列表的末尾(基于最后一个列表的下一个是NULL
)。然后简单地将它添加到那里
像这样:
void add_end(node** head, node* new_node)
{
if(*head==NULL)
{
*head=new_node;
new_node->next=NULL;
}else
{
}
}
new_node->next=NULL;
if(*head==NULL)//空列表
{
*head=新的_节点;
}
else//不为空,遍历到末尾并添加
{
节点*当前=*头部;
while(当前->下一步)//下一步;
}
当前->下一步=新建_节点;// 您应该首先遍历到原始列表的末尾(基于最后一个列表的下一个是NULL
)。然后简单地将它添加到那里
像这样:
void add_end(node** head, node* new_node)
{
if(*head==NULL)
{
*head=new_node;
new_node->next=NULL;
}else
{
}
}
new_node->next=NULL;
if(*head==NULL)//空列表
{
*head=新的_节点;
}
else//不为空,遍历到末尾并添加
{
节点*当前=*头部;
while(当前->下一步)//下一步;
}
当前->下一步=新建_节点;//投资一张纸和一支铅笔。开始在纸上画一个链表,以便更好地理解。买一张纸和一支铅笔。开始在纸上画一个链表的表示,以便更好地理解。实现中存在一个错误:当链表为空时,没有指定头。current没有指向head,它只是指向同一个位置。实现中有一个bug:当列表为空时,head没有被分配。电流不是指向头部,而是指向同一个地方。