C++ C++;如何在向量中找到3个整数对<;配对<;int,pair<;int,int>&燃气轮机&燃气轮机;
例如,我同时存储3个元素,如下所示:C++ C++;如何在向量中找到3个整数对<;配对<;int,pair<;int,int>&燃气轮机&燃气轮机;,c++,vector,find,C++,Vector,Find,例如,我同时存储3个元素,如下所示: vectormyvec myvec.push_back(make_pair(1,make_pair(2,3)) 如何检查myvec中是否存在{1,2,3}(成对)?您可以使用from算法 #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector< pair&
vectormyvec代码>
myvec.push_back(make_pair(1,make_pair(2,3))代码>
如何检查myvec中是否存在{1,2,3}(成对)?您可以使用from算法
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector< pair<int, pair<int, int> > > myvec;
auto p = make_pair(1, make_pair(2, 3));
myvec.push_back(p);
if ( std::find(myvec.begin(), myvec.end(), p) != myvec.end() )
cout << "Found";
else
cout << "Not Found";
return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main(){
向量myvec;
自动p=配对(1,配对(2,3));
myvec.推回(p);
if(std::find(myvec.begin(),myvec.end(),p)!=myvec.end())
当然,你可以这样做:
for (auto mval: myvec) {
if (mval.first == 1 && mval.second.first == 2 && mval.second.second == 3)
cout << "Found" << endl;
}
for(自动mval:myvec){
如果(mval.first==1&&mval.second.first==2&&mval.second.second==3)
你可以用“代码”> STD::tuple < /C>?你到底是指“存在(作为一对)”{{ 1, 2, 3 }不是一对而是三值的元组,对吗?你想达到什么样的目的?杰西可能是C++的新成员,杰西不知道符号。所以使用{}而不是。让我们友好一点。我们可以看到杰西正在谈论的是关于配对的。为什么你们都假设{1,2,3}这是一个元组吗?它也可以是一个向量。杰西是一个新的贡献者。这很好。请删除下面两个答案的反对票。@Shridhar好吧,这就是为什么我们在评论中问杰西。因为这个问题不清楚,在它变得更清楚之前不应该是答案。这是杰西的工作。只有他们才能知道。编辑这个问题t如果不是辱骂性的,为你的答案找一个匹配的人是不合适的。@πάνταῥεῖ 嘿,我也可以给出一个答案,用于搜索向量中的元组。它不是关于与我们的答案匹配的问题。我们需要理解贡献者是新的,也可能是C++的新成员。我们需要有足够的同情心来理解OP在谈论什么。我们可以很清楚地看到,<代码>配对< /代码>正在被使用,需要被烧毁。切德。
typedef pair<int,int> IntPair;
typedef pair<int, IntPair> MyPair;
...
for (auto mval: myvec) {
if (mval == MyPair(1, IntPair(2, 3)))
cout << "Found" << endl;
}