おそらく、<algorithm>
にあるstd::find()
を使用します。 queue
クラスではアクセスできない開始イテレータと終了イテレータを渡す必要があります。良い代替手段はdeque
です。
キューはキューと同様に機能し、そのアイテムをプッシュしてポップすることができますが、項目は「ファーストインファーストアウト」モデルに限定されません。アイテムは、後ろから前の両方からポップして押し込むことができます。これは、queue
クラスがデフォルトで要素を内部的に格納する方法です。
#include <deque>
#include <algorithm>
#include <iostream>
int main()
{
// initialize deque with ints 3, 2, 1
std::deque<int> intDeque{ 3, 2, 1 };
auto it = std::find(intDeque.begin(), intDeque.end(), 2); // find 2 in intDeque
if (it == intDeque.end()) {
std::cout << "Not found" << std::endl;
}
else {
std::cout << "Found!" << std::endl;
}
return 0;
}
上記の使用は、あなたがそれへのアクセスを持っていない場合、あなたはこのような同じことを行うことができ、11をC++:
std::deque<int> intDeque;
// push elements onto the deque
intDeque.push_back(3);
intDeque.push_back(2);
intDeque.push_back(1);
std::deque<int>::iterator it = std::find(intDeque.begin(), intDeque.end(), 2); // find 2 in intDeque
'intQueue'は型ではない変数です。おそらくタイプは 'Queue'ですか?私はC++で 'deque'を使い、' find'メンバ関数を使います。 –
intQueueはここで例として使用される変数名です。おそらく、デッキがこのケースに適しています。ご意見ありがとうございます。私はそれを調べます。 – trademark
訂正。私は 'std :: find'を意味しました。 dequeにはメンバー関数がありません。 –