2
我想寫我自己的隊列類。我的排隊方法只是排隊一個對象,然後如果我試圖排隊其他任何東西,它幾乎就像忽略它。這裏是我的代碼:隊列實現,排隊方法不起作用
public class myQueue {
private Node front;
private Node back;
private int s;
public myQueue() {
front = null;
back = null;
s = 0;
}
public void enqueue(Object x) {
if(isEmpty())
back = front = new Node(x);
else
back = back.next = new Node(x);
s++;
}
public Object dequeue() {
Object x;
if(isEmpty()) { System.out.println("nothing to dequeue.\nqueue empty."); }
x = front.data;
s--;
return x;
}
public boolean isEmpty() {
if(s == 0)
return true;
else
return false;
}
public void printQueue() {
if (isEmpty())
System.out.println("empty queue");
else {
Node temp = back;
while(temp != null) {
System.out.println(temp);
temp = temp.next;
}
}
}
}
,這裏是我的主要方法,其中我嘗試排隊一些對象:
public static void main(String[] args) {
int a = 5;
String b = "yo";
Object c = 5.5;
int d = 2;
String e = "Pen";
Object f = 9.2;
myQueue q = new myQueue();
q.enqueue(a);
q.enqueue(b);
q.enqueue(c);
q.enqueue(d);
q.enqueue(e);
q.enqueue(f);
System.out.println("\n");
q.printQueue();
}
,然後我得到的輸出是:
數據: 9.2
有關爲什麼會發生這種情況的任何想法?
啊,似乎那麼明顯,謝謝。無論出於何種原因,我將它們放在我的筆記本上,而不是從前到後,因此我想我必須從後面開始打印。謝謝! – Ted 2013-02-22 02:05:17