首页 > 其他分享 >set与multiset

set与multiset

时间:2024-08-17 19:40:43浏览次数:8  
标签:set end 删除 元素 erase multiset

STL魔法之 set与multiset

setmultiset 之间区别是 set 之中不会有重复的元素,而 multiset 之中可以有重复元素

setmultiset 的使用方法基本是一样的

可以看这篇 博客

这里总结一下

首先 .begin() .end() .lower_bound() .upper_bound()返回的都是迭代器

其中 .end() 返回的是最后一个空的占位符,没有元素

而迭代器要通过 ++ 或 -- 来移动

举个栗子

插入元素

set<int> x;
x.insert(a);

删除元素

//erase 可以用来直接删去一个值对应的所有元素(直接传入值即可)
//erase 也可以删除一个迭代器 一次只删一个元素
//erase 也可以删一个区间的所有元素 [左闭右开)

一次删除一个元素 \(a\)

if (q.find(a) != q.end())//如果找得到a元素
{
	q.erase(q.find(a));//删掉a
}

删除所有 \(a\) 元素

q.erase(a);

删除末尾的元素

q.erase(--q.end());

删除头的元素

q.erase(q.begin());

遍历set中的所有元素

set<int>::iterator a;
a = q.begin();
while (a != q.end())
{
	cout << *a << " ";//对a解引用
	a++;
}

标签:set,end,删除,元素,erase,multiset
From: https://www.cnblogs.com/sea-and-sky/p/18364862

相关文章

  • 【vue讲解:vue3介绍、setup、ref、reactive、监听属性、生命周期、toRef、setup写法】
    1vue3介绍#Vue3的变化 -vue3完全兼容vue2---》但是vue3不建议用vue2的写法 -拥抱TypeScript -之前咱们用的JavaScript---》ts完全兼容js-组合式API和配置项API vue2是配置项apivue3组合式api#vue4必须要用2vue3项目......
  • TreeSet
    importlombok.*;importorg.junit.jupiter.api.Test;importjava.util.*;/*Comparable是对象自身的比较方式,而Comparator是外部定义的比较方式。**/publicclassT{//Comparator外部比较器User实体可以和Comparator解耦@TestpublicvoidcomparatorTe......
  • C240817D. 模拟赛:树上dp(以i为起点)+set操作
    C240817D.模拟赛比较显然的树上dp,但是维护set比较烦考场上其实自己是定义\(f[i]\)是以\(i\)结尾,然后这样的话单次更新根本做不到\(O(logN)\).反应实在是太迟钝了,考场想“如果有一种只更新一条链的dp就好了”结果完全没想到只需变成以\(i\)开头就行了.积累经验吧。......
  • locale: Cannot set LC_CTYPE to default locale: No such file or directory locale:
    locale:CannotsetLC_CTYPEtodefaultlocale:Nosuchfileordirectorylocale:CannotsetLC_MESSAGEStodefaultlocale:Nosuchfileordirectorylocale:CannotsetLC_COLLATEtodefaultlocale:Nosuchfileordirectory 一、CannotsetLC_CTYPEtodefaul......
  • Dataset and DataLoader
    刘二大人_第八节课代码:importmatplotlib.pyplotaspltimporttorchimportnumpyasnpfromtorch.utils.dataimportDataset#抽象类,不可实例化fromtorch.utils.dataimportDataLoader#helpusloadingdatainPyTorchimportosos.environ["KMP_DUPLICATE_LI......
  • 元素偏移(offset,scroll,client)介绍,动态设置类名
    文章目录一offset,scroll,client简单介绍二、scroll系列1scrollWidth2scrollHeight3scrollTop4scrollLeft三、offset系列1.offsetHeight2.offsetWidth3.offsetTop4.offsetLeft四client系列1clientTop2clientLeft3clientWidth4clientHeight五案例1动态设置......
  • map和set的封装用红黑树
    1.iterator迭代器迭代器。迭代器的作用——容器的类型有很多种但是不是每一个容器的取值方式都是一样的。比如说list是箭头->和解引用*的方式,string则是通过方括号的方式访问的。所以为了统一的访问这些容器所以我们就设置出了迭代器。统一用一种方式这里是,箭头->和解引用*的......
  • H. Ksyusha and the Loaded Set
    H.KsyushaandtheLoadedSetKsyushadecidedtostartagamedevelopmentcompany.Tostandoutamongcompetitorsandachievesuccess,shedecidedtowriteherowngameengine.Theenginemustsupportasetinitiallyconsistingof$n$distinctintegers$a......
  • 【C++的剃刀】我不允许你还不会map和set
     ​ 学习编程就得循环渐进,扎实基础,勿在浮沙筑高台   循环渐进Forward-CSDN博客Hello,这里是kiki,今天继续更新C++部分,我们继续来扩充我们的知识面,我希望能努力把抽象繁多的知识讲的生动又通俗易懂,今天要讲的是C++的map和set~目录 循环渐进Forward-CSDN博客关......
  • Spring DI 简单演示三层架构——Setter 注入
    SpringIOC的常见注入方法有3种:Setter注入、构造注入和属性注入。想了解更多可点击链接:Spring注入、注解以及相关内容补充        属性注入 不推荐。原因:使用私有的成员属性变量,依靠反射实现,破坏封装,只能依靠IOC容器实现注入,不严谨。所以我只演示Setter注入和构......