/*
这里介绍RB-TREE实现的set,由于RB-TREE是平衡二叉搜索树,所以set具有自动排序的功能。
stl的1.find()函数与set关联容器自带的2.find()的使用方法及比较。
2比1优
set<int> iset;
set<int>::iterator it;
1.stl之find 循环比较实现,O(n)
it = find(iset.begin(),iset.end(),val);
if(it != iset.end() ) cout << "found" << endl;
else cout << "not found" << endl; //(it == iset.end() )
2.set自带的find o(logn)
it = iset.find(val);
if(it != iset.end() ) cout << "found" << endl;
else cout << " not found " << endl; // (it == iset.end() )
所以推荐使用2.
map的底层也是用RB-TREE实现的。所以key也是自动排好序的。
map的遍历
map<string, int> simap;
pair<string, int> val(string("111"), 1);
simap.insert(val);
map<string, int>::iterator it;
for(it=simap.begin(); it!=simap.end(); it++)
{
cout << it->first << ' ';
cout << it->second << endl;
}
map 的find()操作
map<string,int>::iterator it1;
it1 = simap.find(key);
if(it != simap.end() ) cout << "found" <<endl;
else cout << "not found " <<endl; //(it == simap.end() )
其实同set的find()是一样的
*/