Set*_*eno 9 .net
我知道System.Collections.Stack.我正在寻找一个支持PushFront()和PushBack()的类.
jas*_*son 11
为什么不使用/ wrap LinkedList<T>?它有AddFirst和AddLast方法.您可以将其包装以隐藏AddBefore等方法.
LinkedList<T>
AddFirst
AddLast
AddBefore
常见的术语是deque(表示双端队列).如果由于某种原因包装a LinkedList<T>是不够的(它应该!),你可以看看Eric Lippert对不可变deque的实现.
Jon*_*eet 9
听起来你想要一些通常称为双端队列的东西.我在.NET中最接近的是LinkedList<T>.我不相信有一个是从循环缓冲区构建的(根据需要扩展),这是你可能想要从头开始构建它的方式.
当然,你可以自己实现它 - 但我可能会使用,LinkedList<T>除非我有一个非常好的理由不这样做.Eric Lippert也有一个你可以看到的不可变的实现(博客文章覆盖它),但显然你想要写一堆测试等......你可能不想要一个不可变的.
归档时间:
13 年,11 月 前
查看次数:
1510 次
最近记录: