0
点赞
收藏
分享

微信扫一扫

双向带头循坏链表改进方案

 

原文链接(前期博客)

[双向带头循环链表]: https://blog.51cto.com/u_15515702/5301627

双向带头循坏链表改进方案_修改

### 问题说明

1.链表节点的数据域是整数类型,无法通用

2.由问题1导致,节点的插入,查找等一些列方法都是基于整数的比对和修改,无法通用

### 改进方案

1.将节点的数据域设置为泛型指针(void *),这样节点的数据域就可以是任何数据类型,带来的问题是节点的数据域需要用户自己申请维护。

2.修改接口:

a.取消打印接口(ListPrint),原因是链表模块本身不关心链接节点的数据域,所以链表模块不需要提供打印数据域的接口。

b.取消增容接口(BuyListNode),链表不关心容量,节点个数不限,节点由用户申请维护,链表模块本身只负责管理节点。

c.修改插入接口,插入的是链表的节点对象,而非其他元素。

d.修改查找接口,查找基于节点数据域的地址,而非数据域中的元素,理由是链表模块只知道节点的数据域的地址,而不知道数据域的类型和类容。

e.增加节点遍历接口,遍历每一个节点,并为每一个节点调用用户传入的函数指针。

f.增加链表判空接口。

举报

相关推荐

0 条评论