4

C ++で私がしなければならなかったのは

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

しかし、Javaでは、単純なdequeを使用するのが非常に難しいことがわかりました。どうすればよいですか...? より具体的には、C++ で行ったのと同じ手順を単純に実行するには、どのようにコーディングすればよいですか。含む、定義する、使用する。

さらに具体的に言えば、両端キューの前または後ろに任意の整数を追加できるように、両端キューを作成したいと考えています。両端キューのサイズでその両端キューに整数を出力します

4

3 に答える 3

10

現在の回答は、Javaのjava.util.LinkedListがC++のstd::dequeのJava変換であることを示唆しています。LinkedListとほぼ同等のインターフェースを備えていますstd::dequeが、複雑さを保証するものではありませんstd::deque。特に、ルックアップがありながら、インデックスによるルックアップ(ランダムアクセス)をstd::deque保証します。この意味(経験豊富なC ++ユーザーが見る意味)では、Javaは(非常によく似ていますが)まったく同じではありません。このスレッドは、「JavaでC++dequeに相当するものは何ですか」という質問に対するより良い答えを提供します。要約すると、標準のJavaライブラリには同等のものはありません。O(1)LinkedListO(n)std::dequeLinkedListstd::dequestd::list

于 2012-12-03T20:46:30.030 に答える
10

Java にはQueue型とDeque型の両方があり、特にLinkedListは次のいずれかとして機能します。

import java.util.*;
Deque<Integer> q = new LinkedList<Integer>();
q.push(1);
于 2011-07-26T06:26:48.943 に答える
-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()
于 2011-07-26T06:36:57.117 に答える