4.10 双向链表
基本概念
从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点,这种数据结构形式使得双向链表在查找时更加方便,特别是大量数据的遍历。由于双向链表具有对称性,能方便地完成各种插入、删除等操作,但需要注意前后方向的操作。
功能
Huawei LiteOS系统中的双向链表模块为用户提供下面几个接口。
双向链表的典型开发流程:
调用LOS_ListInit初始双向链表。
调用LOS_ListAdd向链表中增加节点。
调用LOS_ListDelete删除指定节点。
调用LOS_ListEmpty判断链表是否为空。
调用LOS_ListDelInit删除指定节点并以此节点初始化链表。
- 需要注意节点指针前后方向的操作。
实例描述
使用双向链表,首先要申请内存,删除节点的时候要注意释放掉内存。
本实例实现如下功能:
增加节点。
删除节点。
测试操作是否成功。
编程示例
代码实现如下:
结果验证
编译运行得到的结果为: