2018/09/11 上午之set.map简单学习


/*
这里介绍RB-TREE实现的set,由于RB-TREE是平衡二叉搜索树,所以set具有自动排序的功能。
stl的1.find()函数与set关联容器自带的2.find()的使用方法及比较。
21优


set iset;
set::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 simap;
pair val(string("111"), 1);
simap.insert(val);

map::iterator it;
for(it=simap.begin(); it!=simap.end(); it++)
{
    cout << it->first << ' ';
    cout << it->second << endl;
}

map 的find()操作
map::iterator it1;
it1 = simap.find(key);
if(it != simap.end() ) cout << "found" <else cout << "not found " <//(it == simap.end() )
其实同set的find()是一样的
*/

你可能感兴趣的:(STL)