! ! ! ! set 中的元素总是保持单调递增。

set<int> a;

set的插入


set没有尾部插入函数push_back(),元素的插入一般使用insert进行动态检索插入。
a.insert(x):在集合中a中插入元素x,x 的类型必须与 set 的元素类型一致。如果插入的元素在set中已存在则会忽略
  int n,x;scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%d",&x);
a.insert(x);
}
set的遍历
begin(),end()返回值分别是set中首个元素的迭代器和set中末尾元素向后一位的迭代器。
(begin() 返回的迭代器指向set中的最小值)
rbegin() 返回的迭代器指向set中的最大值。
rend() 返回指向集合中第一个元素的前一个位置的迭代器
//正向迭代器
set<int>:: iterator i;
for(i=a.begin();i!=a.end();i++)
printf("%d ",*i);printf("\n"); //反向迭代器
set<int>:: reverse_iterator i;
for(i=a.rbegin();i!=a.rend();i++)
printf("%d ",*i);printf("\n");

其他函数

empty() size() clear()同样适用于set

erase(x):其中x可以是具体的数或迭代器。删除set中不存在的元素会被忽略。

find(x):返回x元素的迭代器,如果找不到x就返回end()的迭代器。

count() 用来查找set中某个某个键值出现的次数。这个函数在set并不是很实用,因为一个键值在set只可能出现0或1次,这样就变成了判断某一键值是否在set出现过了。

lower_bound(x)返回set中大于等于x的最小元素的迭代器。
upper_bound(x)返回set中大于x的最小元素的迭代器。如果找不到也会返回end()的迭代器。

multiset 


multiset和set的定义和成员函数都相同。

multiset和set的区别是:set插入的元素不能相同,但是multiset可以相同。

如果删除元素x,那么在定义的比较关系下和x相等的所有元素都会被删除。

count(x):set能返回0或者1,multiset是有多少个返回多少个。

 

STL-set and multiset的更多相关文章

  1. C++ STL set和multiset的使用

    C++ STL set和multiset的使用 std::set<int> s;那个s这个对象里面存贮的元素是从小到大排序的,(因为用std::less作为比较工具.) 1,set的含义是 ...

  2. STL Set和multiset 容器

    STL Set和multiset 容器 set/multiset的简介 set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列. 元素插入过程是按排序规则插入,所以不能指定插入位 ...

  3. STL之set && multiset

    一.set 在了解关联容器set之前,让我们先来看看下面这个例子,并猜测该例子输出什么: // stl/set1.cpp #include <iostream> #include < ...

  4. STL - set和multiset

    set/multiset的简介 set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列.元素插入过程是按排序规则插入,所以不能指定插入位置. set采用红黑树变体的数据结构实现, ...

  5. STL之set&multiset使用简介

    关于set,必须说明的是set关联式容器.set作为一个容器也是用来存储同一数据类型的数据类型,并且能从一个数据集合中取出数据,在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序.应该注 ...

  6. c++ STL -- set和multiset

    set和multiset 1.结构 set和multiset会根据特定的排序原则将元素排序.两者不同之处在于,multisets允许元素重复,而set不允许重复. 只要是assignable.copy ...

  7. STL:set/multiset用法详解

    集合 使用set或multiset之前,必须加入头文件<set> Set.multiset都是集合类,差别在与set中不允许有重复元素,multiset中允许有重复元素. sets和mul ...

  8. STL使用————SET&MULTISET

    SET函数的基本用法 by hhl 使用set的好处 1. 当增加元素后,集合会自动删重并从小到大排列(时间比快排还快)2. 相当于一棵伸展树(能快速求出后继) 使用基础 #include<se ...

  9. C++ STL——set和multiset

    目录 一 set和multiset 二 对组pair 注:原创不易,转载请务必注明原作者和出处,感谢支持! 注:内容来自某培训课程,不一定完全正确! 一 set和multiset set和multis ...

  10. 转自http://blog.sina.com.cn/daylive——C++ STL set&multiset

    C++ STL set和multiset的使用 1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就  像一个集合一样.所有的操作的都是严格在logn时间 ...

随机推荐

  1. jQuery : 有关TypeError: invalid ‘in’ operand obj的错误

    参考 lwx2615 的博客 ,网站:  http://blog.csdn.net/lwx2615/article/details/9668777 由PHP返回一个json数据 $.ajax({ ur ...

  2. poj3320 Jessica's Reading Problem

    Description Jessica's a very lovely girl wooed by lots of boys. Recently she has a problem. The fina ...

  3. 修改pip源到国内的镜像源

    国内网络原因,经常无法访问一些技术网站,pypi.python.org就是其中一个.所以,使用pip给Python安装软件时,经常出现错误.like this: File "/usr/lib ...

  4. Vue 中使用UEditor富文本编辑器-亲测可用-vue-ueditor-wrap

    其中UEditor中也存在不少错误,再引用过程中. 但是UEditor相对还是比较好用的一个富文本编辑器. vue-ueditor-wrap说明 Vue + UEditor + v-model 双向绑 ...

  5. BZOJ 2720: [Violet 5]列队春游

    2720: [Violet 5]列队春游 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 189  Solved: 133[Submit][Status] ...

  6. 胡小兔的NOIP2017游记【出成绩后更新版】

    胡小兔的NOIP2017游记[出成绩后更新版] 2017.11.22 Update 前几天成绩出来啦,看这篇博客访问量还挺多的,下面就分享一下结果吧: 我的Day1T2和Day2T1两道最水的题都跪了 ...

  7. JFreeChart工具类

    需要的jar包: jfreechart-1.0.17.jarjcommon-1.0.24.jar (jfreechart一般只要1.0系列的都可以,jcommon一般任何版本都可以) 效果: 代码: ...

  8. poi导出word表格详解 超详细了

    转:非常感谢原作者 poi导出word表格详解 2018年07月20日 10:41:33 Z丶royAl 阅读数:36138   一.效果如下 二.js代码 function export_word( ...

  9. 约瑟夫环问题算法(M)

    http://blog.csdn.net/zhuimengzh/article/details/6727221 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出.写出C程序 ...

  10. php与Git下基于webhook的自动化部署

    前言 2018年第一篇文章,没啥技术含量,权当笔记 我们一般都会用git或者svn来管理我们的代码 每次代码更新后还要手动的去把服务器上的代码也更新一遍 项目小了还好 项目大了着实浪费时间 要是服务器 ...