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


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


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()是一样的
*/

全部评论

相关推荐

面试摇了我吧:啊哈哈面试提前五个小时发,点击不能参加就是放弃
点赞 评论 收藏
分享
11-27 12:43
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务