在c语言中,如何将链表的第一个元素移动到最后一个元素?
我试图获取链表的第一个元素并将其移动到最后一个位置。我使用以下代码实现了这一点:在c语言中,如何将链表的第一个元素移动到最后一个元素?,c,list,linked-list,C,List,Linked List,我试图获取链表的第一个元素并将其移动到最后一个位置。我使用以下代码实现了这一点: pend=pstart; while(pend->next != NULL) // go to the last element { pend = pend->next; } pend->next=pstart; pend=
pend=pstart;
while(pend->next != NULL) // go to the last element
{
pend = pend->next;
}
pend->next=pstart;
pend=pstart;
pstart=pstart->next;
pend->next=NULL;
但我似乎错过了什么,因为我没有得到我想要的结果。所以,我的问题是:这个代码正确吗?如果没有,请帮我修一下。谢谢。您的代码是正确的。你在别的地方搞砸了
pend=pstart;
while(pend->next != NULL) // go to the last element
{
pend = pend->next;
}
pend->next=pstart;
pstart=pstart->next;
pend->next->next= null;
解决此类问题的最佳方法是使用框(节点)和箭头(链接)绘制链表。我认为您的代码是正确的。你能详细说明一下“我没有得到我想要的结果”吗?另外,需要更多的上下文来理解这个问题,a最好。对我来说是正确的。这看起来和OP的代码做的完全一样。而这个代码块可能会回答这个问题。请尝试在代码中添加相关解释,以改进您的答案。看见