引用自: [Michael McMillan.Data Structures and Algorithms Using C#]
Queue类的实现在C#中用ArrayList是毋庸置疑的;当需要往队列中插入数据项时,ArrayList的Add方法会把数据项放置在表的下一个自由元素上,当需要从队列中移除数据项时,ArrayList会在表中把每一个保留的数据项向前移动一个元素.
下面是实现代码:
namespace Queue
{
class Queue
{
private ArrayList pqueue;
private Queue()
{
pqueue = new ArrayList();
}
public void EnQueue(object item) //入队
{
pqueue.Add(item);
}
public void DeQueue() //出队
{
pqueue.RemoveAt(0);
}
public object Peek() //返回队头元素
{
return pqueue[0];
}
public void ClearQueue() //清除队列
{
pqueue.Clear();
}
public int Count() //返回队列元素数量
{
return pqueue.Count;
}
}
}