有点看不懂。

大大啊 2010-09-16 05:20:05
void elist_init_root(elist_t *root)
{
root->next = root->prev = root;
}


/* Add new element at the tail of the list. */
void elist_add_tail (elist_t *root,elist_t *newp)
{
root->prev->next = newp;
newp->next = root;
newp->prev = root->prev;
root->prev = newp;
}


/* Remove element from list. not use interface */
void elist_del_elem (elist_t *elem)
{
elem->next->prev = elem->prev;
elem->prev->next = elem->next;
}


/* get element at the head of the list and remove
the element from the list. if no element return NULL.
*/
elist_t* elist_remove_head(elist_t *root)
{
elist_t *next = 0;
if (root != root->next)
{
next = root->next;
elist_del_elem(root->next);
}
return next;
}
...全文
73 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
乐CC 2010-09-16
  • 打赏
  • 举报
回复
看懂了再问
wyfwx 2010-09-16
  • 打赏
  • 举报
回复
next指向连表的下个节点
prev指向前一个节点

很简单的代码自己看
pengzhixi 2010-09-16
  • 打赏
  • 举报
回复
双向链表
nommm 2010-09-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hubaolin 的回复:]

我怎么看 不像是链表~~~
[/Quote]

XXX->prev和XXX->next这种东西不是链表是什么,一个指前一个指后。
大大啊 2010-09-16
  • 打赏
  • 举报
回复
我怎么看 不像是链表~~~
Peter_Wang 2010-09-16
  • 打赏
  • 举报
回复
看样子像是双向环链表?
冻结 2010-09-16
  • 打赏
  • 举报
回复
就是指针的变了变去。
如果你对链表有了理解,其实很简单。
nommm 2010-09-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hubaolin 的回复:]

这是哪一块的 ~~~
[/Quote]

链表,你拿张纸用箭头表示指针画一画,有利于直观理解
大大啊 2010-09-16
  • 打赏
  • 举报
回复
这是哪一块的 ~~~
冻结 2010-09-16
  • 打赏
  • 举报
回复
去看数据结构吧。
这一块是必须弄明白的。

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧