2011-07-26 51 views
2

在C++中所有我需要做的就是什麼是C++ deque的Java等價物?

#include <queue> -> including 
queue<int> a; -> defining 
a.push(1); ->using 

但在Java中,我發現很難用簡單的雙端隊列 我該怎麼辦......? 更具體地說, 我應該如何編寫代碼來簡單地執行與我在C++中相同的步驟 ;包括,定義,使用。

更具體地說, 我想製作一個deque,這樣我可以 在前端或後端添加任何整數。 並通過雙端隊列

+1

更合適的標題應該是「C++ deque的Java等效物是什麼」 –

+0

「你用deque的大小打印整個數字中的整數」是什麼意思? – Paul

+0

如果您使用IDE,它將幫助您找到要導入的類以及如何構造代碼。免費的IDE包括; IntelliJ CE,Netbeans或Eclipse –

回答

9

Java有兩種QueueDeque類型的尺寸打印在deque的整數,和LinkedList,等等,可以作爲任何一個:

import java.util.*; 
Deque<Integer> q = new LinkedList<Integer>(); 
q.push(1); 
+0

如何在排隊隊列中打印整個數字,就像我在隊列中添加1,2,3,4一樣打印就好像1 2 3 4 – hongtaesuk

+1

這聽起來像是作業。你甚至嘗試過嗎?顯示一些代碼並指出您遇到問題的位置。 –

+0

我非常感謝你:) – hongtaesuk

-1

java.util.LinkedList

LinkedList<Integer> linkedList = new LinkedList<Integer>(); 
linkedList.add(5); 
linkedList.addFirst(2); // add to front, equivalent to push() 
linkedList.addLast(3); // add to end, equivalent to add() 
7

目前的答案表明,Java的java.util.LinkedList是在Java編譯C++的std::deque。儘管LinkedList確實具有與std::deque大致相同的接口,但它不提供std::deque所做的複雜性保證。特別是,std::deque保證O(1)通過索引查找(隨機訪問),而LinkedListO(n)查找。從這個意義上說(有經驗的C++用戶意見std::deque),Java的LinkedList完全沒有像std::deque(雖然它非常像std::list)。 This thread爲「什麼是C++ deque的Java等價物」提供了更好的答案。總而言之,標準Java庫中沒有等價物。

相關問題