STL中set用法详解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STL中set用法详解 STL中set用法详解
来自百度文库
Set 简介
• Set是STL的一种关联容器,它其中所包 含的元素的值是唯一的 ,并且是有序的 • 插入操作和删除操作上比向(vector) vector 快,但查找或添加末尾的元素时会有些 慢 • #include<set.h>
Set操作
• set<int> iset; //声明set • vector<int> vec; //用vector初始化iset iset(vec.begin(),vec.end()); • iset.insert(9); //向set中插入元素 • set<int>::iterator it; //set遍历 for( it = iset.begin(); it != iset.end(); it++) cout << *it << " ";
本次上机完成的作业
• 找出需要用 找出需要用map或set替换的 或 替换的vectors, 替换的 , 替换需要考虑的因此包括代码可读性, 替换需要考虑的因此包括代码可读性, 程序的性能和可扩展性 • 例如 class Group 中的 例如, 中的vector 可以用 map<string, Client*>类型的 类型的map替换 替换. 类型的 替换 这样可以方便得到Client指针 这样可以方便得到 指针 • 在reasons.txt中说明替换原因 中说明替换原因 • 提交所有修改过的文件
STL中容器的比较
• vector就是动态数组,它在堆中分配内存, 元素连续存放。通过下标访问是O(1)操作, 需要经常随机访问请用vector • map 映射把一个值映射成另一个值,通过键 值查找的操作是O(1),插入和删除是O(lgn) O(1) O(lgn) • set 集合, 用来判断某一个元素是不是在一 个组里面,使用的比较少
相关文档
最新文档