gpt4 book ai didi

c++ - 检查二维 vector 中是否存在元素

转载 作者:行者123 更新时间:2023-11-30 02:19:57 24 4
gpt4 key购买 nike

我在二维 vector 中插入了一些元素,想知道给定元素是否存在于二维 vector 中的任何位置。有什么快速的方法可以找到元素的存在吗?

vector 声明为:vector < vector< int > > v;

最佳答案

如果您没有关于 2D vector 的更多信息(比如以某种方式排序),那么最好的方法是遍历 2D vector 的每一行并使用 find 方法检查它是否存在与否。

你做类似下面的事情:

bool does_exist(const vector< vector<int> >&  v, int item){

vector< vector<int> >::const_iterator row;

for (row = v.begin(); row != v.end(); row++) {
if(find(row->begin(), row->end(), item) != row->end() )
return true;
}

return false;
}

您可以使用以下代码进行测试:

#include <iostream>
#include <vector>

using namespace std;

int main(){

int item = 12;
vector < vector <int> > v;
vector <int> v1;

v1.push_back(1);
v1.push_back(2);
v1.push_back(3);

vector <int> v2;

v2.push_back(4);
v2.push_back(5);
v2.push_back(6);

v.push_back(v1);
v.push_back(v2);

if( does_exist(v, item))
cout << "Item " << item << " exist" << endl;
else
cout << "Item " << item << " does not exist" << endl;
}

关于c++ - 检查二维 vector 中是否存在元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50203818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com