算法(4th ed)(134):基础——背包、队列和栈 5.3.5

阅读数:9 2019 年 11 月 6 日 07:35

算法(4th ed)(134):基础——背包、队列和栈 5.3.5

(链表:在表尾插入结点)

如何才能在链表的尾部添加一个新结点?要完成这个任务,我们需要一个指向链表最后一个结点的链接,因为该结点的链接必须被修改并指向一个含有新元素的新结点。我们不能在链表代码中草率地决定维护一个额外的链接,因为每个修改链表的操作都需要添加检查是否要修改该变量(以及作出相应修改)的代码。例如,我们刚刚讨论过的删除链表首结点的代码就可能改变指向链表的尾结点的引用,因为当链表中只有一个结点时,它既是首结点又是尾结点!另外,这段代码也无法处理链表为空的情况(它会使用空链接)。类似这些情况的细节使链表代码特别难以调试。在链表结尾插入新结点的过程如图 1.3.8 所示。

算法(4th ed)(134):基础——背包、队列和栈 5.3.5

图 1.3.8 在链表的结尾插入一个新结点

评论

发布