0

質問がありますが、検索方法がわからないので、お聞きしたいと思います。単純に聞こえるかもしれませんが、私は一種の初心者です。

私はC++でコーディングしています。配列に20個の値があります。私はそれらにいくつかの作業を行い、計算後、これらの20個の値に新しい値を追加し、最も古い変数を削除する必要があります。配列を新しい値で更新する一種。

例:以前の値:a、b、c、d、.... t
現在の値:b、c、d、e .... u

このプロセスは、条件が満たされない限り、ループの下で続行されます。

したがって、私の質問は次のとおりです。このタスクを実行するための特定の構造または方法はありますか、それともこの作業を手動で処理する必要がありますか?(実際には、私にとっては十分である可能性のある非実用的なメソッドを作成することでそれを行うことができましたが、この作業専用のスタック構造がない可能性があると思います)

前もって感謝します。

4

1 に答える 1

3

std::queueまたはstd::deque(dequeが両側から要素を削除できる場合はキューがFIFO(先入れ先出し)であるという違い)を使用します。

if (queue.size() == MAX_SIZE) {
    queue.pop_front();
}
queue.push_back(value);
于 2012-04-29T19:54:34.177 に答える