1
我想弄清楚如何開始使用Java編寫一個限制輸出的雙端隊列,所以我可以從兩端輸入元素,但只能從一箇中移除它們。 我已經完成了單個隊列,這是我第一次做出列隊隊列,而我正在閱讀的書並沒有多大幫助。如何在Java中啓動輸出受限制的雙端隊列?
我只是有點失落,雙重似乎比單一複雜。
編輯
單個隊列代碼:
public class ListQueue<AnyType> implements Queue<AnyType>
{
private ListNode<AnyType> front;
private ListNode<AnyType> back;
private int counter;
public ListQueue()
{
front = back = null;
}
public boolean isEmpty()
{
return front == null;
}
public void enqueue(AnyType x)
{
if(isEmpty()) // Make queue of one element
back = front = new ListNode<AnyType>(x);
else // Regular case
back = back.next = new ListNode<AnyType>(x);
counter++;
}
public AnyType dequeue()
{
if(isEmpty())
throw new UnderflowException("ListQueue dequeue");
AnyType returnValue = front.element;
front = front.next;
counter--;
return returnValue;
}
public AnyType getFront()
{
if(isEmpty())
throw new UnderflowException("ListQueue getFront");
return front.element;
}
public void makeEmpty()
{
front = null;
back = null;
counter = 0;
}
}
在那裏,它被
編輯
這裏是ListNode
類
class ListNode<AnyType>
{
public ListNode(AnyType theElement)
{
this(theElement, null);
}
public ListNode(AnyType theElement, ListNode<AnyType> n)
{
element = theElement;
next = n;
}
public AnyType element;
public ListNode<AnyType> next;
}
這功課嗎?你可以使用現有的Java類型,比如`Deque`嗎?來自OP的 – 2011-02-03 00:36:01
聽起來像目標是寫一個自定義數據結構 - 「我已經完成了單個隊列」 – 2011-02-03 00:40:05