![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构算法
文章平均质量分 91
李佟然
好好学习,天天向上
展开
-
带头双链表的实现
对于 双向链表 的尾结点,就是哨兵位的 prev ,将其拷贝一份,放在 tail 中,然后将 tail 的 next 链接至新节点 newnode ,然后将 newnode 的 prev 链接到 tail。如果要找到尾结点的前一个节点,那么我只需要通过 哨兵位 的 prev 找到 尾,在通过 尾 的 prev 就可以找到 尾结点的前一个节点。对于头删来说,我需要删除链表的第一个节点,也就是 哨兵位的 next 节点 ,我需要改变 哨兵位 和 第二个节点 的链接关系,然后释放 第一个节点。原创 2023-04-13 20:07:58 · 90 阅读 · 3 评论 -
顺序表的实现
假设现在已经有一个空间了,有一个指针指向空间起始位置,已经存了5个数据,容量为7,现在想存储一个数据,因为顺序表必须顺序存储,所以,想接着存储一个数据,存储到哪呢?未开辟和size = cacpcity 其实都是同一种情况,一般情况下,满了的时候我们都是将容量扩大2倍,2倍是一个适中的倍数,如果说光扩的话,对空间是由消耗的。当size = cacpcity时候,要分情况是否为未开辟过,如果未开辟过,则开辟,如果已经开辟过了,容量变为2倍,这里为什么是2倍,上文已经阐述,在这里不再赘述。可以看到是成功了的。原创 2023-04-11 21:36:30 · 170 阅读 · 8 评论