問題タブ [deque]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
241 参照

java - ランダムな間隔でオブジェクトをArrayDequeに追加するJava

ランダムな間隔でオブジェクトを ArrayDeque に追加しようとしています。これは私が持っているものです

使用されている他の方法は次のとおりです。

顧客数を印刷すると、時計の時刻と同じになりますが、顧客は 1 ~ 10 のランダムな間隔で追加されるため、そうではありません。何か案は?

0 投票する
3 に答える
2384 参照

java - Java で C++ deque に相当するものは何ですか?

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

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

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

0 投票する
1 に答える
1907 参照

data-structures - Deque (デッキ) の質問

Deque は、キューの両端からの操作をサポートする「両端キュー」であることを理解しています。私の質問は、それがどのように機能するかです。たとえば、番号が 3,4,2,1,5,6 で、push_back(4) push_back(3) push_front(5) push_front(1) を実行するとします。

このデータは deque でどのように表示されますか? Front が 1 を指し、Back が 3 を指す 3,4,5,1 のようになりますか? pop_back() を実行すると、3 または 4 が返されますか? (3 が 4 の前にプッシュされたので、FIFO として機能しますか?) 同様に pop_front()? 5または1?

push_back(4) push_back(3) push_back(5) push_back(1)

それから私は pop_front() をしましたか?それは何を返しますか?4か1?

理解を助けてください。

前もって感謝します

0 投票する
1 に答える
1585 参照

python - collections.dequeがcollections.defaultdictよりも遅いのはなぜですか?

使い方次第だと思いますので、一般的な質問は許してください。でも、私の場合は、値の存在を確認したいときcollections.dequeよりもかなり遅かったです。collections.defaultdict

小さな単語セットに対してユーザーの入力を検証するために、PeterNorvigのスペル修正を使用しました。単語頻度のある辞書は使い物にならなかったので、最初はシンプルなものを使いましたlistが、1つの単語の検索に約25秒かかることに気づいたらすぐにdefaultdict置き換えました。deque

驚いたことに、それは使用するよりも速くなかったlistので、私は使用defaultdictに戻り、ほぼ瞬時に結果が返されました。

誰かがこのパフォーマンスの違いを私に説明できますか?

前もって感謝します


PS:私が話していたことを再現したい場合は、ノーヴィグのスクリプトの次の行を変更してください。

0 投票する
4 に答える
3069 参照

java - ArrayDeque へのマルチスレッド同時アクセスをどのように管理すればよいですか?

私の Swing GUI は、バックグラウンド スレッドによって順次削除される項目の JList を表示します。

JList の背後には、AbstractListModel のコントラクトに従って、およびArrayDeque<Card>を実装する myHopper があります。myHopper.getSize()myHopper.getElementAt()

バックグラウンド スレッドは、 を使用してアイテムを削除しますmyHopper.poll()

驚くことではありませんが、現在、AWT 配列インデックスの範囲外の例外が発生しています。

EDT スレッドとバックグラウンド スレッドの間で myList へのアクセスを適切に同期するにはどうすればよいですか? への参照を見Collections.synchronizedList(arrayList)たことがありますが、それが私の ArrayDeque に適合するとは思いません。

0 投票する
6 に答える
22532 参照

python - collections.deque でスライス表記を使用する

項目 3..6dequeを変更せずに、次の項目から効率的かつエレガントに Python で抽出するにはどうすればよいでしょうか。

スライス表記がうまくいかないようですdeque...

0 投票する
1 に答える
1148 参照

python - リンクリストを使用したPythonでのデキューの実装

Python で単純なリストを使用して Dequeue を実装しました。ただし、リンクされたリスト用に別のクラスを実装し、それを使用してデキューを実装する必要があります。このため、ポインタ参照は左端と右端で必要です。これを行う方法がわかりません。一部の団体がいくつかの参照または実装を提供できますか..

0 投票する
2 に答える
1541 参照

c++ - dequeの問題:map <...、deque <>>は失敗しますが、vectorとlistは失敗しませんか?

私はコードをもっている:

2つをマージすることを目的としていsomeMapます。0xcdcdcdcdしかし、メモリエラー(ポインタ)が原因でプログラムがクラッシュするという問題があります。これは、マップに両端キューが含まれている場合にのみ発生し、リストまたはベクトルがある場合はすべて正常に機能します。それは何でしょうか?

dequesを使用しているときのメモリの問題があります。Insertは、一連のコピーコンストラクターを呼び出します。someClassまた、ポイントをメモリにコピーした後、次のようなプロパティがあります。

0x00959B48 00 00 00 00 00 00 00 00

エラーが発生する直前(のcopy-constructorでsomeClass)、このフィールド(コピーオブジェクトの)はここ(同じアドレス)を指します:

0x00959B48 f0 9b 95 00 00 00 00 00

ここからそれほど遠くないアドレスのように見えるものがあります(0x00959B48):

0x00959B0F fd ab ab ab ab ab ab ab

その1つのコピーオブジェクトへの他のポインタも無効なメモリを指しています(0xcdcdcdcd<-それを指摘してくれたデバッグモードのMSVSに感謝します)。

次に、そのaddress()にメモリ書き込みブレークポイントを設定し0x00959B48ました。これが私が見つけたものです。

つまり、私たちが持っているのは、そのオブジェクトの破壊です。

などの値は、次のようにSTLコード内で数回変更されます。

これに

0x00959B48 08 f6 12 00 00 00 00 00

そして最後に私たちが最後に持っているものに戻ります

0x00959B48 f0 9b 95 00 00 00 00 00

つまり、オブジェクトが破壊され、メモリが上書きされ、オブジェクトはガベージ(おそらくマップデータ)で満たされた同じメモリに戻ります。dequeをlistとvectorに置き換えましたが、どちらも正常に機能しました。それで、質問があります:dequeで何が起こったのか、あるいは私はこれを間違った方法で行っているので、これをどのように解決する必要がありますか?

編集:ここに機能コードがあります:

これがsomeClassです:

0 投票する
2 に答える
27875 参照

iphone - NSMutableArray の先頭にオブジェクトを追加しますか?

の先頭にオブジェクトを追加する効率的な方法はありNSMutableArrayますか? 同様に機能する優れた両端キューを探していobjective Cます。

0 投票する
3 に答える
1240 参照

c++ - dequeインデックスのC++swap()

2つの質問があります。2つ目はオプションです。まず、以下のプログラム(単純なカードプログラムのプロトタイプ)で、次のエラーが発生します。

(29):エラーC2660:'shuffle':関数は次のコードで1つの引数を取りません:

なぜこのエラーが発生するのですか?(私は周りを見回して、それを自分で解決しようとしました)

第二に、c ++のドキュメントを見つけるのが簡単ではないため(swap();を利用するバージョンの場合)、フィッシャーイェーツアルゴリズムを適切に実行しているかどうかはわかりません(これに答えたり、指摘したりするためのブラウニーのポイントクラスの欠如を含まない、ひどくひどいコーディング慣行)

前もって感謝します!