deque

    0

    2答えて

    私は、特定の型のオブジェクトを一揃え持っています。それぞれの型は、同じ型の他のオブジェクトを保持するために両端キューを割り当てることができます。私は両方の端で高速アクセスが必要なので、特定のオブジェクトはおそらく他の多くのオブジェクトを参照する可能性があるため、両端キューを使用しています。 しかし、オブジェクトの多くまたはほとんどが他のオブジェクトをほとんど参照していない可能性があります。この場合

    7

    1答えて

    ちょうど今、私はJosuttisのSTLの本を読んでいます。 私が知る限り、C++ vectorは再配置可能なc配列です。ですから、push_back()の後にすべてのイテレータと参照が無効になる理由を理解しています。 しかし、私の質問はstd :: dequeです。私が知っているように、それは大きなブロック(c配列のc配列)の配列です。したがって、push_front()は最初に要素を挿入し、空

    0

    1答えて

    class MD { MD(); MD(const MD &obj); MD& operator=(const MD &obj); private: int Name; double sal; }; typedef std::shared_ptr<MD> mDataPtr; typedef std::vector<mDataPtr

    9

    6答えて

    私はJavaのソリューションを探していますが、一般的な答えもOKです。 Vector/ArrayListは、追加と取り込みではO(1)ですが、前置きではO(n)です。 LinkedListのは、検索のために(Javaでのような二重リンクリストを実装)(1)追記及びプリペンドためのOであるが、O(N)。 のDeque(ArrayDeque)は、上記のすべてのためにO(1)であるが、任意のインデックス

    0

    2答えて

    dequeに非常に短いコードを書く必要がありますが、メソッドのコードを書く方法がわかりません。 dequeの元にオブジェクトを追加してください)、それが私の仕事を開始します。残りのメソッドを管理できると確信しています。ちょうど私がかなり困惑している瞬間です。

    0

    7答えて

    一般的な値(EltType)を両面キュー(デキュー)に挿入するためにこのメソッドを実行しようとしていますが、私は把握できないoutOfBoundsExceptionを取得し続けます。誰もがこれで私を助けることができるだろうか?これは単なるコードからの抜粋ですが、私はこれを一緒につなぐことができると思います! private final int CAPACITY = 10; private

    0

    2答えて

    申し訳ありませんが、私がここにいた質問にちょうど従っています:hereこのメソッドを実行して、両面キュー(deque)から汎用値(EltType)を削除しようとしていますが、エラーが発生すると、insertFirstを2回呼び出し、配列に値「3」を2回挿入します。次に、removeFirstを実行すると、「3」が1回出力され、その後は「Null」が出力されます。誰でも私を助けてくれますか? cla

    8

    1答えて

    私はキュー(Queueモジュールから)を持っており、インデックス付きアクセスを取得したいと思います。キューから項目4を要求することができます。 キューは内部的に両端キューを使用し、両端キューはインデックス付きアクセスを持つことがわかりました。問題は、(1)キューをめちゃくちゃにすること、(2)スレッドセーフを壊すことなくデキューを使うことができることです。

    7

    6答えて

    私は以下のようなシナリオを持っています: の整数のペア(本質的にはタスクの説明)を持つ1つのスレッドがあります。 このコンテナから要素を取り、何らかの作業を実行するワーカースレッド(8-16)の数。 ブロックキューで問題を簡単に解決できると考えました。アイテムを削除すると、スレッドはキューへのアクセスを同期し、利用可能なデータがない場合はスリープします。 私は(おそらく間違って)このようなものがS

    21

    7答えて

    タイトルが尋ねるように。 デュークについての私の理解は、それが「ブロック」を割り当てたということでした。私は、より多くのスペースを割り当てることでイテレータを無効にする方法は見当たりません。もしあれば、デキュのイテレータはベクトルよりも多くの保証をすると思います。