c++set/multiset的构造与赋值
构造:
set<T> st; //默认构造函数:
set(const set &st); //拷贝构造函数
赋值:
set& operator=(const set &st); //重载等号操作符
构造和赋值操作与之前相似,只是少好几种种类
multiset与set是相同的操作,默认其中是从小到大的顺序
而set并没有头插和尾插的操作,因为数据在其中是排序的,所以头数和尾数并不固定,因此无法通过之前数组和链表容器中数据顺序与实际插入顺序相关那种方式进行数据插入
set数据插入的方式仅有insert
同时注意,向set中加入相同数据时不会报错,但是在容器中不会实际插入,而set在插入数据后会返回一个值用来判断是否插入成功,multiset不会返回数据进行判断,因为都是插入成功
set的返回值为返回值为pair<set<int>::iterator, bool>
类型,其包含 2 个数据,一个迭代器和一个 bool 值:
当向 set 容器添加元素成功时,该迭代器指向 set 容器新添加的元素,bool 类型的值为 true;
如果添加失败,即证明原 set 容器中已存有相同的元素,此时返回的迭代器就指向容器中相同的此元素,同时 bool 类型的值为 false。
pair<set<int>::iterator,bool> ret = s1.insert(10);
cout << ret.second <<endl;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探