【发布时间】:2010-07-17 22:58:39
【问题描述】:
我计划在不使用Queue<T> 类的情况下实现有界队列。在阅读了Arrays 和LinkedList<T> 的优缺点之后,我更倾向于使用 Array 来实现队列功能。集合将是固定大小的。我只想在队列中添加和删除项目。
类似
public class BoundedQueue<T>
{
private T[] queue;
int queueSize;
public BoundedQueue(int size)
{
this.queueSize = size;
queue = new T[size + 1];
}
}
而不是
public class BoundedQueue<T>
{
private LinkedList<T> queue;
int queueSize;
public BoundedQueue(int size)
{
this.queueSize = size;
queue = new LinkedList<T>();
}
}
我选择 Array 是因为效率高,而且集合是固定大小的。想就此征求其他意见。谢谢。
【问题讨论】:
-
速度与效率的经典案例。数组对于计算机来说会更快,但 LinkedList 很可能需要更少的代码行。决定权完全取决于您!
标签: c# arrays data-structures linked-list