您的位置:首页 > 汽车 > 时评 > 泉州模板自助建站_公司公共邮箱怎么申请_如何做百度免费推广_bt磁力搜索引擎在线

泉州模板自助建站_公司公共邮箱怎么申请_如何做百度免费推广_bt磁力搜索引擎在线

2025/1/10 0:27:25 来源:https://blog.csdn.net/qq_29385297/article/details/144812758  浏览:    关键词:泉州模板自助建站_公司公共邮箱怎么申请_如何做百度免费推广_bt磁力搜索引擎在线
泉州模板自助建站_公司公共邮箱怎么申请_如何做百度免费推广_bt磁力搜索引擎在线

set 容器中的元素会自动按照升序排列(默认情况下),并且不允许有重复的元素。set 提供了高效的元素查找、插入和删除操作。

唯一性set 中的每个元素都是唯一的,不允许有重复值。

自动排序set 中的元素会根据其值自动排序,默认情况下是按照升序排列。

键-值对:虽然 set 存储的是单一的值(而不是像 map 那样存储键-值对),但它仍然可以看作是基于键(即元素值本身)的集合。

高效查找:由于 set 内部通常使用红黑树实现,查找、插入和删除操作的时间复杂度都是 O(log n)。

引入头文件 

#include <set>

声明和初始化

set<int> mySet;  // 声明一个存储int类型元素的set
set<string> myStringSet{"aa","bb","cc"};  // 声明一个存储string类型元素的set

插入元素 

mySet.insert(10);
mySet.insert(20);
mySet.insert(5);  // 元素会自动排序

遍历元素

// for循环
for (string a: myStringSet) {cout<< a <<" ";
}// 使用迭代器
for (auto it = mySet.begin(); it != mySet.end(); ++it) {std::cout << *it << " ";
}

查找元素 

auto it = mySet.find(10);
if (it != mySet.end()) {std::cout << "Found 10" << std::endl;
}

删除元素 

mySet.erase(10);  // 删除值为10的元素
auto it = mySet.find(20);
if (it != mySet.end()) {mySet.erase(it);  // 使用迭代器删除元素
}

大小和空检查

cout << "Size of set: " << mySet.size() << endl;
if (mySet.empty()) {cout << "The set is empty" << endl;
}

自定义排序

#include <iostream>
#include <set>
using namespace std;
// 自定义比较函数对象
struct Compare {bool operator()( int a,  int b)const {return a > b;  // 降序排序}
};int main() {set<int, Compare> myCustomSet;myCustomSet.insert(10);myCustomSet.insert(20);myCustomSet.insert(5);for (int a :myCustomSet) {cout << a << " ";}return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com