1.set<pair<int,int> >的用法
set默认的比较规则先按照first比较,如果first相同,再按照second 比较。 注意:定义的时候右边的两个> >要空一格。
lower_bound(key_value) ,返回第一个大于等于key_value的定位器,也可以理解为查找“大于等于x”的第一个位置,例如lower_bound(a,a+n,x)-a;
upper_bound(key_value),返回最后一个大于等于key_value的定位器
#include <bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
int main()
{
set<pair<int,int> > s;
s.insert(make_pair(3,1));
s.insert(make_pair(3,2));
s.insert(make_pair(1,1));
s.insert(make_pair(1,2));
s.insert(make_pair(2,5));
s.insert(make_pair(2,4));
set<pair<int ,int> > ::iterator it;
for(it=s.begin();it!=s.end();it++)
cout<<it->first<<' '<<it->second<<"\n";
it=s.upper_bound(make_pair(2,4));
if(it!=s.end())
printf("(2,4)后面接着是%d %d\n",it->first,it->second);
}