c++问题 判断vector<int>容器与list<int>容器包含相同元素

#include&lt;iostream&gt;#include&lt;vector&gt;#include&lt;list&gt;using namespace std;int main() { list&lt;int&gt; ilst; vector&lt;int&gt; ivec; int val; cout&lt;&lt;&quot;输入一些数&quot;&lt;&lt;endl; while(cin&gt;&gt;val) ilst.push_back(val); cin.clear(); cout&lt;&lt;&quot;再输入一些数&quot;&lt;&lt;endl; while(cin&gt;&gt;val) ivec.push_back(val); vector&lt;int&gt; ivec2(ilst.begin(),ilst.end()); if(ivec==ivec2) cout&lt;&lt;&quot;包含相同元素&quot;&lt;&lt;endl; return 0;}
2026年09月24日 23:13
有1个网友回答
网友(1):

楼主的判断代码不对,另外cin.clear();后要加cin.sync();
下列代码运行正确
#include
#include
#include
using namespace std;
int main()
{
list ilst;
vector ivec;
int val;
cout<<"输入一些数"< while(cin>>val)
ilst.push_back(val);
cin.clear();
cin.sync();
cout<<"再输入一些数"< while(cin>>val)
ivec.push_back(val);
for(vector::iterator iter=ivec.begin();iter!=ivec.end();++iter)
for(list::iterator iter2=ilst.begin();iter2!=ilst.end();++iter2)
if(*iter == *iter2)
cout<<"包含相同元素"<<*iter2< return 0;
}