注:本文档为《从0学x86操作系统》课程配套的学习文档,提供相应的辅助学习资料和答疑勘误。 有关该课程的信息,请点击这里访问:https://study.163.com/provider/1017884735/index.htm 在阅读本文档时,如有疑问和建议,欢迎在下方留言或者直接联系我。

本课时介绍两种有关链表的插入:插入到链表的头部和插入到尾部。

主要内容

具体的代码实现并不难,实现时重点先修改待插入的结点的pre、next,然后再修改链表中的相应指针。也就是先不去修改链表原有的结构,这样后续操作不易出错。
删除头部要考虑到队列只有一个结点的情况,因为这意味着在修改first指针时还要同时更新last指针,将last设置为空。
image.png
删除指定结点时,则情况会略为复杂。既要将结点的前后结点中相应的指针重新进行设置,将前一结点的next指向后面的结点,将后一结点的pre指向前面的结点。此外,如果结点位于链表的头部或者尾部,还需要更新first或last指针。
image.png

参考资料