3

こんにちは、キューの代わりにベクターを使用できますか? 別のスレッドを使用して、メモリとの間でプッシュおよびポップしたいだけです。また、ポップ後にデータを削除する必要があります。vector より queue を使用する利点はありますか?

前もって感謝します....

4

6 に答える 6

11

キューは FIFO であるため、プッシュした反対側からポップする必要があるため、賢明ではありません。このために使用する構造はです。これは、デフォルトでボンネットの下で使用std::dequeする構造です。std::queue

于 2013-01-25T12:39:32.663 に答える
4

キューに vector を使用すると、vector の最初の位置から要素を挿入または削除する必要があります。ベクトルはメモリの単一ブロックとして含まれており、そのような操作にはコストがかかります。キューはより効率的に実装できます。

于 2013-01-25T12:39:58.647 に答える
4

ベクターは、キューではなくスタックに似ています。片側から押してポップすることはできますが、一方から押してもう一方からポップすることはできません。ベクトルを使用すると、一定時間内にインデックスによって任意の要素にアクセスできますが、要素を最初から効率的に削除することはできません。

于 2013-01-25T12:39:19.897 に答える