////////////////////////////////////////
// 2018/04/28 19:23:07
// set-lower_bound
// return an iterator to the first element greater than a certain value
#include <iostream>
#include <set>
#include <iomanip>
#include <string>
using namespace std;
template<class T>
class Member
{
private:
T first, last;
public:
Member(T l) :last(l), first(""){}
Member(T l, T f) :last(l), first(f){}
void print() const
{
cout.setf(ios::left);
cout << setw(15) << first << " " << last << endl;
}
friend bool operator < (const Member& m1, const Member& m2){
return m1.last < m2.last;
}
friend bool operator == (const Member& m1, const Member& m2){
return m1.last == m2.last;
}
};
//========================================
int main(){
typedef Member<string> M;
typedef set<M, less<M>> S;
S s;
s.insert(M("Smith", "Jhon"));
s.insert(M("Shevchenko","Taras"));
s.insert(M("Amstrong","Bill"));
s.insert(M("Bain","Linda"));
s.insert(M("Pushkin", "Alexander"));
s.insert(M("Pasternak","Biris"));
S::iterator it = s.begin();
while (it != s.end()){
(it++)->print();
}
cout << endl;
M m1("P");
M m2("Pzz");
S::iterator low = s.lower_bound(m1);
S::iterator upp = s.upper_bound(m2);
it = low;
while (it != upp){
(it++)->print();
}
return 0;
}
/*
OUTPUT:
Bill Amstrong
Linda Bain
Biris Pasternak
Alexander Pushkin
Taras Shevchenko
Jhon Smith
Biris Pasternak
Alexander Pushkin
*/
set-lower_bound
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:set-max_size
下一篇:set-lower_bound
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
lower_bound
//////////////////////...
#include i++ ios