2011-12-20 124 views
0

我實現了一個隊列和各種操作,如下所示。有什麼其他簡單的方法在Java中實現隊列(循環隊列)?哪一種在java中實現隊列最簡單的方法是?java中的隊列實現

import java.io.*; 
import java.util.*; 

public class QueueImplement { 

    LinkedList<Integer> list; 
    String str; 
    int num; 

    public static void main(String[] args) { 
     QueueImplement q = new QueueImplement(); 
    } 

    public QueueImplement() { 
     try { 
      list = new LinkedList<Integer>(); 
      InputStreamReader ir = new InputStreamReader(System.in); 
      BufferedReader bf = new BufferedReader(ir); 
      System.out.println("Enter number of elements : "); 
      str = bf.readLine(); 
      if ((num = Integer.parseInt(str)) == 0) { 
       System.out.println("You have entered either zero/null."); 
       System.exit(0); 
      } else { 
       System.out.println("Enter elements : "); 
       for (int i = 0; i < num; i++) { 
        str = bf.readLine(); 
        int n = Integer.parseInt(str); 
        list.add(n); 
       } 
      } 
      System.out.println("First element :" + list.removeFirst()); 
      System.out.println("Last element :" + list.removeLast()); 
      System.out.println("Rest elements in the list :"); 
      while (!list.isEmpty()) { 
       System.out.print(list.remove() + "\t"); 
      } 
     } catch (IOException e) { 
      System.out.println(e.getMessage() + " is not a legal entry."); 
      System.exit(0); 
     } 
    } 
} 
+1

so ..... nevermind。 – 2011-12-20 05:37:29

+0

它適合你嗎?你對這個隊列有什麼要求? – Paul 2011-12-20 05:37:57

+2

你有與你的代碼有關的*特定*問題嗎?堆棧溢出不適用於[代碼評論](http://codereview.stackexchange.com/)。 – 2011-12-20 05:38:44

回答

0

ArrayDequeArrayBlockingQueue使用圓形陣列算法實現。

1

鏈表是一個很好的路要走。看看你的代碼,但我會建議大部分屬於主函數。您已經在構造函數中使用鏈表來行使隊列功能,但要創建隊列,您需要創建一個提供隊列接口和實現的類。