C++ 对集合使用find()函数
我刚刚在书中遇到了这一章,我真的不明白find()是如何工作的。我试图创建一个简单的函数来检查find()函数是如何工作的,但是我的代码中出现了大量错误C++ 对集合使用find()函数,c++,iterator,find,set,C++,Iterator,Find,Set,我刚刚在书中遇到了这一章,我真的不明白find()是如何工作的。我试图创建一个简单的函数来检查find()函数是如何工作的,但是我的代码中出现了大量错误 #include <iostream> #include <set> using namespace std; int main() { set<int> setA(1,2); int item; cout << "Enter a number: "; cin >> item
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> setA(1,2);
int item;
cout << "Enter a number: ";
cin >> item;
int setIter;
setIter = setA.find(item);
if (setIter != setA.end())
{
cout << "It's in the list." << endl;
}
return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
集毛(1,2);
国际项目;
cout>项目;
int设置器;
setIter=setA.find(项目);
if(setIter!=setA.end())
{
cout这是您的程序的正确实现
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> setA;
setA.insert(1); // use insert function
setA.insert(2);
set<int>::iterator setIter; // take set iterator
int item;
cout << "Enter a number: ";
cin >> item;
setIter = setA.find(item);
if (setIter != setA.end())
{
cout << "It's in the list." << endl;
}
return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
设置刚毛;
setA.insert(1);//使用insert函数
刚毛插入(2);
set::iterator setIter;//获取集合迭代器
国际项目;
cout>项目;
setIter=setA.find(项目);
if(setIter!=setA.end())
{
cout您的代码有两个问题-第一个是构造函数的使用,另一个是将set.find()返回的set迭代器赋值给int。下面是更正的代码:
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> setA({1,2});
int item;
cout << "Enter a number: ";
cin >> item;
set<int>::iterator setIter = setA.find(item);
if (setIter != setA.end())
{
cout << "It's in the list." << endl;
}
return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
集合setA({1,2});
国际项目;
cout>项目;
set::iterator setIter=setA.find(item);
if(setIter!=setA.end())
{
CUT不能用SETA(1,2)初始化一个集合,两个参数的构造函数需要一个比较器和一个分配器。试试<代码> SET SETA= {1,2};< /C> >如果你不使用一个新的C++编译器,那么它可能不起作用,如果它不需要,你就需要调用插入()