相关疑难解决方法(0)

为什么Stack <T>和Queue <T>用数组实现?

我正在Albahari兄弟的Nutshell中阅读C#4.0,我发现了这个:

堆栈在内部实现,其数组根据需要调整大小,与Queue和List一样.(第288页,第4段)

我不禁想知道为什么.LinkedList提供O(1)头尾插入和删除(这应该适用于堆栈或队列).可调整大小的数组有O(1)缓冲插入(如果我没记错的话),但O(n)最坏的情况(我不确定删除).它可能比链表使用更多的空间(对于大型堆栈/队列).

还有更多吗?双链表实现的缺点是什么?

.net c# queue stack linked-list

27
推荐指数
3
解决办法
4993
查看次数

标签 统计

.net ×1

c# ×1

linked-list ×1

queue ×1

stack ×1