c - 用C语言反转循环双链表
问题描述
struct node *reverse()
{
if(tail == NULL)
{
printf("List is empty");
return tail;
}
struct node *nxt,*prv,*p = tail->next;
do
{
nxt = p->next;
prv = p->prev;
p->next = prv;
p->prev = nxt;
p = nxt;
}while(p!=tail->next);
tail = nxt;
return tail;
};
输入:nodea,nodeb,nodec
输出:nodea,nodeb
预期输出:nodec,nodeb,nodea
我不知道我的代码有什么问题...任何人都可以帮助我吗?
解决方案
推荐阅读
- mongodb - 如何在嵌套数组中查找(至少两级)
- java - 如何让杰克逊按排序顺序序列化未排序的集合?
- reactjs - MomentJS - 如何更改语言环境但保留语言
- java - 在Java中的泛型类中实现特定类型的方法
- python - 打开文件浏览窗口后 Python 脚本停止执行
- c - NdisoidRequest 状态返回成功但未设置数据包过滤器
- pandas - read_csv 的箱形图失败
- node.js - 没有 Redis/DB 的 NodeJS 刷新令牌
- javascript - 使用 Flask 在单页应用程序中提交表单,无需重新加载
- selenium - 使用 selenium 时 Firefox 的浏览器启动参数是什么?