c++kquote>set 是一种存储不重复且有序元素的容器,元素的顺序由比较函数决定。创建 set 使用 set 语法,插入元素用 insert() 方法,查找元素用 find() 方法,删除元素用 erase() 方法。可通过迭代器或 range-based for 循环遍历 set。其他有用方法包括 size()、empty()、clear()、lower_bound()、upper_bound() 和 equal_range()。
c++ 中 set 的用法详解
什么是 set?
set 是一种容器,它存储不重复且有序的元素。元素的顺序是根据特定的比较函数确定的,该函数决定元素的相对大小。
创建 set
要创建 set,可以使用以下语法:
<code class="cpp">set<t> mySet;</t></code>
登录后复制
其中,T
是 set 中元素的类型。
插入元素
可以使用 insert()
方法将元素插入 set 中:
<code class="cpp">mySet.insert(element);</code>
登录后复制
如果元素已经存在,插入操作将被忽略。
查找元素
可以使用 find()
方法查找 set 中的元素:
<code class="cpp">auto it = mySet.find(element);</code>
登录后复制
如果找到元素,it
将指向该元素;否则,it
将指向 set 的尾后。
删除元素
可以使用 erase()
方法删除 set 中的元素:
<code class="cpp">mySet.erase(it);</code>
登录后复制
其中,it
是指向元素的迭代器。也可以使用 erase()
方法传入元素值进行删除。
遍历 set
可以使用以下方法遍历 set 中的元素:
- 使用迭代器:
<code class="cpp">for (auto it = mySet.begin(); it != mySet.end(); ++it) { // 获取元素 }</code>
登录后复制
- 使用 range-based for 循环:
<code class="cpp">for (auto element : mySet) { // 获取元素 }</code>
登录后复制
set 的其他方法
除了上述方法外,set 还提供了以下有用方法:
- size():返回 set 中元素的数目。
- empty():检查 set 是否为空。
- clear():清空 set 中的所有元素。
- lower_bound():返回大于或等于给定元素的第一个元素的迭代器。
- upper_bound():返回大于给定元素的第一个元素的迭代器。
- equal_range():返回一组迭代器,表示给定元素在 set 中的范围。
以上就是c++++中set的用法详解的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:木子,转转请注明出处:https://www.dingdanghao.com/article/431784.html