コード例 #1
0
ファイル: LLQueue.cs プロジェクト: moosearch/Sample-ADTs
	public override void Enqueue(object item)
	{
		Node newItem = WrapObject(item);
		if (IsEmpty()) 
			{front = back = newItem;}
		else
		{
			back.next = newItem;
			back = newItem;
		}	
		this.Count++;
	}
コード例 #2
0
ファイル: LLQueue.cs プロジェクト: moosearch/Sample-ADTs
	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;
	}
コード例 #3
0
ファイル: LLQueue.cs プロジェクト: moosearch/Sample-ADTs
	/** Creates a copy of the node... */
	private Node CopyNode(Node old)
	{
		return new Node(old.data);
	}
コード例 #4
0
ファイル: LLQueue.cs プロジェクト: moosearch/Sample-ADTs
	public LLQueue()
	{
		this.Count = 0;
		front = back = null;
	}
コード例 #5
0
ファイル: LLQueue.cs プロジェクト: moosearch/Sample-ADTs
	public void ClearLink(){
		this.next = null;
	}
コード例 #6
0
ファイル: LLQueue.cs プロジェクト: moosearch/Sample-ADTs
	public Node(object item){
		this.data = item;
		this.next = null;
	}
コード例 #7
0
ファイル: LLQueue.cs プロジェクト: moosearch/Sample-ADTs
	public Node(){
		this.data = null;
		this.next = null;
	}