Ejemplo n.º 1
0
	public override void Enqueue(object item)
	{
		Node newItem = WrapObject(item);
		if (IsEmpty()) 
			{front = back = newItem;}
		else
		{
			back.next = newItem;
			back = newItem;
		}	
		this.Count++;
	}
Ejemplo n.º 2
0
	public override object Dequeue()
	{
		Node item;
		if (IsEmpty())
		{throw new EmptyQueueException("Queue is empty, cannot dequeue. ");}

		item = front;
		if (this.Count == 1)
		{front = back = null;}
		else
		{
			front = front.next;
			item.ClearLink();
		}
		this.Count--;
		return item;
	}
Ejemplo n.º 3
0
	/** Creates a copy of the node... */
	private Node CopyNode(Node old)
	{
		return new Node(old.data);
	}
Ejemplo n.º 4
0
	public LLQueue()
	{
		this.Count = 0;
		front = back = null;
	}
Ejemplo n.º 5
0
	public void ClearLink(){
		this.next = null;
	}
Ejemplo n.º 6
0
	public Node(object item){
		this.data = item;
		this.next = null;
	}
Ejemplo n.º 7
0
	public Node(){
		this.data = null;
		this.next = null;
	}