数据结构的第六讲.ppt

数据结构的第六讲

* 双向链表 虽然从表内第一个节点到最后一个节点的遍历操作是非常简单的,但是反向遍历链表却不是一件容易的事情。 * 双向链表 如果为 Node类添加一个字段来存储指向前一个节点的链接,那么就会使得这个反向操作过程变得容易许多。 当向链表插入节点的时候,为了把数据赋值给新的字段还会需要执行更多的操作,但是当要把节点从表中移除的时候就会获得收效了。 * 双向链表的实现 首先需要修改 Node类来为类增加一个额外的链接。 为了区别两个链接: 把指向下一个节点的链接称为 FLink 把指向前一个节点的链接称为 Blink 在实例化一个 Node的时候,会把这些字段都设置为空(Nothing)。 * 插入操作 双向链表中的Insert方法类似于单向链表中的同类方法,只是需要把新节点的向后链接设为指向前一个节点。 * 删除操作 双向链表的 Remove方法比单向链表中此类方法容易。 首先需要找到表内要删除的节点,然后把此节点的向后链接属性设为指向要删除节点向前链接所指向的节点。 然后需要对删除节点所指向链接的后链接进行重定向操作,把它指向删除节点之前的节点。 * 反向输出 如果将一个链表中的元素反向显示。 使用单向链表实现这个方法稍微困难 使用双向链表而言实现这个方法却很容易 * 反向输出的实现 首先,需要一个方法来找到链表内的最后一个节点。 沿着每个节点的向前链接顺次寻找的过程,直到到达指

文档评论(0)

1亿VIP精品文档

相关文档