【数据结构】带头双向循环链表的增删查改(C语言实现)(2)

【数据结构】带头双向循环链表的增删查改(C语言实现)(2)

11、在pos位置之前删除数据和pos位置之前插入数据类似,这里我们的时间复杂度也为O(1),并且我们也可以通过调用此函数来完成头删和尾删的功能。但是这里有一个问题,那就是pos不能是第一个节点的地址,因为我们不可能把哨兵位头结点给删除了,但是如果要避免这种情况出现,我们 Erase 函数就需要接受...

【数据结构】带头双向循环链表的增删查改(C语言实现)(1)

【数据结构】带头双向循环链表的增删查改(C语言实现)(1)

前言在上一节中我们学习了单链表,但是我们发现单链表有如下缺陷:1、在尾部插入、删除数据时间复杂度为O(N),效率低;2、在pos位置前插入、删除数据时间复杂度为O(N),效率低;3、进行插入、删除数据时因为有可能改变头节点,所以需要传递二级指针,不易理解;基于单链表的这些...

你的第一门C语言课

44 课时 |
15429 人已学 |
免费

C语言学习教程

128 课时 |
19187 人已学 |
免费
开发者课程背景图

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。