C++ Set 库 - set() 函数
描述
C++ 构造函数std::set::set() (Initializer-List Constructor) 用初始化列表init的内容构造一个集合容器
声明
以下是 std::set 标头中 std::set::set() Initializer-list 构造函数的声明。
C++11
set (initializer_list<value_type> init, const key_compare& comp = key_compare(), const allocator_type& alloc = allocator_type());
C++14
set (initializer_list<value_type> init, const key_compare& comp = key_compare(), const allocator_type& alloc = allocator_type()); set (initializer_list<value_type> init, const allocator_type& alloc = allocator_type());
参数
alloc − 输入迭代器到初始位置。
comp − 用于所有键比较的比较函数对象
init − init 是一个初始化集合容器元素的 initializer_list 对象。 集合容器中存在的元素属于 value_type(成员类型)
返回值
构造函数从不返回任何值。
异常
如果抛出任何异常,此成员函数无效。
时间复杂度
N log(N) in general, where N = init.size();
否则,在 N 中是线性的,即 O(N) 如果 init 已经排序。
示例
以下示例显示了 std::set::set() (initializer_list) 构造函数的用法。
#include <iostream> #include <set> #include <string> using namespace std; int main() { // Initializer list constructor std::set<std::string> fruit { "orange", "apple", "mango", "peach", "grape" }; std::cout << "Size of set container fruit is : " << fruit.size(); return 0; }
让我们编译并运行上面的程序,这将产生以下结果 −
Size of set container fruit is : 5