c - C语言中如何将链表的第一个元素移动到最后一个元素?

标签 c list linked-list

我试图获取链接列表的第一个元素并将其移动到最后一个位置。我使用以下代码做到了这一点:

            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;

但似乎我可能错过了一些东西,因为我没有得到我想要的结果。所以,我的问题是:这段代码正确吗?如果没有请帮我修复它。谢谢。

最佳答案

您的代码是正确的。你在其他地方搞砸了。

解决此类问题的最佳方法是使用框(节点)和箭头(链接)绘制链表。

关于c - C语言中如何将链表的第一个元素移动到最后一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28639491/

相关文章:

c - 读取输入引脚的状态并显示在 LED 上 - LPC1115

c - RoundRobin 使用链表。完成时间计算问题

C#在Dictionary中添加字典

java - java中双链表删除节点

c - macOS 10.12 中 C 语言的位右移与 Ubuntu 16.04 不同

C 获取代码内的编译选项

r - 根据名称选择列表元素

Json.net 反序列化为 c# .net 2.0 中的对象列表

java - java中的链表删除

java - 查找链表的排列