set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。
平衡二叉检索树使用中序遍历算法,检索效率高于vector、deque和list等容器,另外使用中序遍历可将键值按照从小到大遍历出来。
构造set集合主要目的是为了快速检索,不可直接去修改键值。

说白了就是一个容器,用来存放数据,以二叉搜索树的形式存放。没有重复元素。

使用set需要声明#include“set”

主要功能如下:

insert()    ,插入一个元素

clear()          ,删除set容器中的所有的元素

empty()    ,判断set容器是否为空

size()      ,返回当前set容器中的元素个数

count()    ,用来查找set中某个键值出现次数。

find()            ,返回给定值值得定位器,如果没找到则返回end()

erase(i)     ,删除定位器iterator指向的值


 #include"iostream"
#include"set"
using namespace std;
int main(){
set<int> s; //创建一个int类型的set
set<int>::iterator it; //创建一个它对应的迭代器 for(int i=;i<;i++){ // 插入0-9;
s.insert(i);
} if(s.empty()) //empty判断set是否为空,如果为空返回true
cout<<"s为空"<<endl;
else
cout<<"s不为空"<<endl; cout<<"set容器元素个数为"<<s.size() <<endl; cout<<"1出现的次数"<<s.count()<<endl;
cout<<"10出现的次数"<<s.count()<<endl; s.erase(); //删除某个元素
cout<<"5出现的次数"<<s.count()<<endl; it=s.find(); //查找数据,find,如果没有找到,迭代器end,如果找到,为找到的数据
if(it!=s.end())
cout<<*it<<endl; for (it = s.begin(); it!= s.end(); ++it){ //遍历数据,用迭代器遍历数据 cout << *it << endl;
}
return ;
}


最新文章

  1. ACM :漫漫上学路 -DP -水题
  2. 深入理解javascript原型和闭包系列
  3. python中datetime模块
  4. navigation controller
  5. DapperExtensions的基本用法
  6. 封装WebAPI客户端,附赠Nuget打包上传VS拓展工具
  7. Latent Semantic Analysis (LSA) Tutorial 潜语义分析LSA介绍 一
  8. ThreadPool线程池 小结
  9. madown标签说明
  10. ansible命令执行模块使用
  11. HDU_2019——向排序好的数列中插入数
  12. poj 3487 稳定婚姻
  13. DICOM医学图像处理:DCMTK在VS2012中的配置
  14. Ping azure
  15. AOJ2249最短路+最小费用
  16. Thinkphp开启调试模式
  17. bcrypt对密码加密的一些认识(学习笔记)
  18. java 获取日期的几天前,几个月前和几年前
  19. STL之pair对组
  20. scp和sftp常用操作

热门文章

  1. Laravel开发:多用户登录验证(2)
  2. POJ 2965 The Pilots Brothers&#39; refrigerator【枚举+dfs】
  3. 九度OJ 1347:孤岛连通工程 (最小生成树)
  4. 【python】-- 多进程的基本语法 、进程间数据交互与共享、进程锁和进程池的使用
  5. shell脚本调试运行
  6. Django之stark组件1
  7. Mac idea maven 创建web项目
  8. test_bdc
  9. IDEA main方法自动补全(转发:http://blog.csdn.net/zjx86320/article/details/52684601)
  10. Navicat试用期破解方法(转)