#include <iostream>
#include <vector>
#include <algorithm>
#include <list>
#include <functional>
using namespace std;
bool bothEvenOrOdd(int elem1, int elem2)
{
return elem1 % 2 == elem2 % 2;
}
int main()
{
vector<int> ivec;
list<int> ilist;
for (int i = 1; i <= 6; ++i)
ivec.push_back(i);
for (int i = 1; i <= 16; i*=2)
ilist.push_back(i);
ilist.push_back(3);
for (vector<int>::iterator iter = ivec.begin(); iter != ivec.end(); ++iter)
cout << *iter << ' ';
cout << endl;
for (list<int>::iterator iter = ilist.begin(); iter != ilist.end(); ++iter)
cout << *iter << ' ';
cout << endl;
pair<vector<int>::iterator, list<int>::iterator> values;
values = mismatch(ivec.begin(), ivec.end(), ilist.begin()); // mismatch是找到两个容器第一个不相等的数,
if (values.first == ivec.end())
{
cout << "没有找到不相等的数: no mismatch" << endl;
}
else
{
cout << "first mismatch: " << *values.first << "and" << *values.second << endl;
}
values = mismatch(ivec.begin(), ivec.end(), ilist.begin(),less_equal<int>());
if (values.first == ivec.end())
cout << "没找到!(always less-or-equal)" << endl;
else
cout << "找到了(not less-or-equal):" << *values.first << "and" << *values.second << endl;
return 0;
}
区间的比较2
最新推荐文章于 2022-03-23 16:57:45 发布