container/list 链表
定义
- element 链表中的元素实体
- list 链表实体
常用方法
延迟初始化
优点
在于“延迟”,它可以分散初始化操作带来的计算量和存储空间消耗。
缺点
在于“延迟”,如果我在调用链表的每个方法的时候,它们都需要先去判断链表是否已经被初始化,那这也会是一个计算量上的浪费。在这些方法被非常频繁地调用的情况下,这种浪费的影响就开始显现了,程序的性能将会降低。
go实现平衡
链表的PushFront方法、PushBack方法、PushBackList方法以及PushFrontList方法总会先判断链表的状态,并在必要时进行初始化,这就是延迟初始化,而除了这四个方法之外,其他方法都不需要判断list的状态,直接就可以判断返回结果,所以List利用了自身以及Element在结构上的特点,巧妙地平衡了延迟初始化的优缺点,使得链表可以开箱即用,并且在性能上可以达到最优。
container/ring 循环链表
来源:CSDN
作者:ashane1314
链接:https://blog.csdn.net/m0_37145844/article/details/103587498