卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64336本站已运行4115

c++中set的用法详解

c++kquote>set 是一种存储不重复且有序元素的容器,元素的顺序由比较函数决定。创建 set 使用 set 语法,插入元素用 insert() 方法,查找元素用 find() 方法,删除元素用 erase() 方法。可通过迭代器或 range-based for 循环遍历 set。其他有用方法包括 size()、empty()、clear()、lower_bound()、upper_bound() 和 equal_range()。

c++中set的用法详解

c++ 中 set 的用法详解

什么是 set?

set 是一种容器,它存储不重复且有序的元素。元素的顺序是根据特定的比较函数确定的,该函数决定元素的相对大小。

创建 set

要创建 set,可以使用以下语法:

<code class="cpp">set<t> mySet;</t>

其中,T 是 set 中元素的类型。

插入元素

可以使用 insert() 方法将元素插入 set 中:

<code class="cpp">mySet.insert(element);

如果元素已经存在,插入操作将被忽略。

查找元素

可以使用 find() 方法查找 set 中的元素:

<code class="cpp">auto it = mySet.find(element);

如果找到元素,it 将指向该元素;否则,it 将指向 set 的尾后。

删除元素

可以使用 erase() 方法删除 set 中的元素:

<code class="cpp">mySet.erase(it);

其中,it 是指向元素的迭代器。也可以使用 erase() 方法传入元素值进行删除。

遍历 set

可以使用以下方法遍历 set 中的元素:

  • 使用迭代器:
<code class="cpp">for (auto it = mySet.begin(); it != mySet.end(); ++it) {
  // 获取元素
}
  • 使用 range-based for 循环:
<code class="cpp">for (auto element : mySet) {
  // 获取元素
}

set 的其他方法

除了上述方法外,set 还提供了以下有用方法:

  • size():返回 set 中元素的数目。
  • empty():检查 set 是否为空。
  • clear():清空 set 中的所有元素。
  • lower_bound():返回大于或等于给定元素的第一个元素的迭代器。
  • upper_bound():返回大于给定元素的第一个元素的迭代器。
  • equal_range():返回一组迭代器,表示给定元素在 set 中的范围。
卓越飞翔博客
上一篇: 如何为 Golang 函数文档编写示例代码?
下一篇: PHP 数组键值颠倒:高效方案探究
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏