宏: 链表, LIB-ZC

LIB-ZC 提供一组宏, 支持双向链表, 可实现各类链表操作. 不涉及到内存分配

推荐使用, 每次都自己实现的话,一不注意就出错了, 可单独使用

单词(参数)解释

head:   链表头, 指针
tail:   链表尾, 指针
node:   节点变量, 指针
before: 节点变量, 指针
prev:   名称, 结构体成员, 前一个
next:   名称, 结构体成员, 后一个

宏: 说明

ZMLINK_APPEND(head, tail, node, prev, next);

追加 node 到尾部

ZMLINK_PREPEND(head, tail, node, prev, next);

追加 node 到头部

ZMLINK_ATTACH_BEFORE(head, tail, node, prev, next, before);

把 node 插入到 before 前

ZMLINK_DETACH(head, tail, node, prev, next);

移除 node

ZMLINK_CONCAT(head_1, tail_1, head_2, tail_2, prev, next);

合并链表, 把第 2 个链表的头(head_2) 追加到第 1 个链表的尾部(tail_1)

宏: 定义

例子

https://gitee.com/linuxmail/lib-zc/blob/master/sample/stdlib/mlink.c

https://gitee.com/linuxmail/lib-zc/blob/master/sample/stdlib/mlink2.c

https://gitee.com/linuxmail/lib-zc/blob/master/src/stdlib/list.c

京ICP备18054515号-2 eli960@qq.com qq: 1537212398