网站做1920px好吗,建设二手商品网站总结,锦州网站建设资讯,dw网页制作教程宣传在C中#xff0c;set是一种容器#xff0c;它包含了唯一元素的有序集合。set库提供了一系列的类模板#xff0c;用于创建和操作集合。
set基本操作
insert()#xff1a;此操作用于将元素插入到set中。调用insert()函数#xff0c;并传入需要插入的元素即可。例如#x…在C中set是一种容器它包含了唯一元素的有序集合。set库提供了一系列的类模板用于创建和操作集合。
set基本操作
insert()此操作用于将元素插入到set中。调用insert()函数并传入需要插入的元素即可。例如s.insert(6);find()此操作用于在set中查找元素。调用find()函数并传入需要查找的元素即可。如果元素存在于set中该函数会返回一个指向该元素的迭代器否则返回end()。例如auto it s.find(3);erase()此操作用于从set中删除元素。调用erase()函数并传入需要删除的元素即可。例如s.erase(3);clear()此操作用于清空整个set。调用clear()函数即可。例如s.clear();size()此操作用于获取当前set中的元素个数。调用size()函数即可。例如int num s.size();max_size()此操作用于获取set的最大容量。调用max_size()函数即可。例如int max_num s.max_size();count()此操作用于判断某个元素在set中出现的次数。调用count()函数并传入需要判断的元素即可。例如int count s.count(6);
set特性 唯一性set中的元素是唯一的不允许重复。有序性set中的元素是有序的按照元素的插入顺序进行排列。可变性set中的元素是可以改变的可以添加、删除或修改元素。无序性set中的元素是无序的不能通过下标或者位置来访问元素。高效的查找操作set提供了高效的查找操作可以在O(1)的时间复杂度内完成查找操作。动态大小set的大小是动态的可以动态地添加和删除元素。支持集合运算set支持并集、交集、差集等集合运算方便进行集合操作。不支持下标访问set不支持下标访问操作只能通过迭代器访问元素。线程不安全set不是线程安全的如果在多线程环境下使用需要进行同步处理。 应用举例
定义和初始化
#include iostream
#include setint main() {std::setint s1; // 定义一个空的setstd::cout s1: ;for (int i : s1) {std::cout i ;}std::cout std::endl;std::setint s2 {1, 2, 3, 4, 5}; // 定义并初始化一个setstd::cout s2: ;for (int i : s2) {std::cout i ;}std::cout std::endl;return 0;
}输出
s1:
s2: 1 2 3 4 5 插入元素
#include iostream
#include setint main() {std::setint s {1, 2, 3, 4, 5};s.insert(6); // 向set中插入元素6并保持有序性std::cout s: ;for (int i : s) {std::cout i ;}std::cout std::endl;return 0;
}输出
s: 1 2 3 4 5 6查找元素
#include iostream
#include setint main() {std::setint s {1, 2, 3, 4, 5};auto it s.find(3); // 在set中查找元素3并返回指向该元素的迭代器如果元素不存在返回end()。if (it ! s.end()) {std::cout Found: *it std::endl; // 如果元素存在输出该元素的值。此处应为Found: 3。注意迭代器不能直接使用需要使用*操作符取得其指向的值。也可以使用it-first或it-second来获取键或值。但这不是标准做法。在map中可以使用这种方式。在set中键和值是同一个所以使用*操作符。} else {std::cout Not Found std::endl; // 如果元素不存在输出Not Found。此处应为Not Found。注意set不区分键和值所以不能使用类似map的it-first或it-second的方式获取键或值。只能使用*操作符。但这不是标准做法。在map中可以使用这种方式。在set中键和值是同一个所以使用*操作符。在map中键和值是不同的所以可以使用first和second来获取键和值。