您的位置:

C++ Set容器简介及使用方法

一、Set容器简介

Set容器是C++ STL(STandard Library)提供的一种关联式容器,它允许存储不重复的元素。在Set容器中所有的元素都是按照一定的规则自动排序的,我们可以使用迭代器访问它们。

Set容器中的元素通常是以红黑树的形式来进行存储的。它是一种高效的数据结构,可以保证插入、删除、查找元素的时间复杂度均为O(log n)。

在C++中,Set容器是通过头文件 来实现的,其声明方式为:

set<T> s; 

其中,T表示Set容器中存储的数据类型。

二、Set容器使用方法

1、Set容器的插入操作

Set容器的插入操作可以使用insert()函数,该函数接受一个元素值作为参数。

例如,我们可以将以下整数插入到一个set容器中:

set<int> s;
s.insert(10);
s.insert(20);
s.insert(30);
s.insert(40);

在Set容器中,元素会被自动排序,因此Set容器中的元素会被自动排序为10、20、30、40。

2、Set容器的删除操作

Set容器的删除操作可以使用erase()函数,该函数接受一个元素值作为参数。

例如,我们可以将以下整数从一个set容器中删除:

set<int> s;
s.insert(10);
s.insert(20);
s.insert(30);
s.insert(40);
s.erase(30);

执行完上述代码之后,Set容器中的元素会被重新排序为10、20、40。

3、Set容器的查找操作

Set容器的查找操作可以使用find()函数,该函数接受一个元素值作为参数。

例如,我们可以查找以下整数是否在一个set容器中:

set<int> s;
s.insert(10);
s.insert(20);
s.insert(30);
s.insert(40);
if(s.find(30) != s.end()){
    cout<<"元素存在"<<endl;
}
else{
    cout<<"元素不存在"<<endl;
}

根据以上代码,如果set容器中存在元素30,则输出“元素存在”,否则输出“元素不存在”。

4、Set容器的遍历操作

Set容器可以使用迭代器进行遍历操作。返回的迭代器指向的是已经排好序的元素。例如:

set<int> s;
s.insert(10);
s.insert(20);
s.insert(30);
s.insert(40);
for(set<int>::iterator it=s.begin(); it!=s.end(); it++){
    cout<<"元素值为:"<<*it<<endl;
}

代码中的for循环将每个set容器中的元素依次输出。

三、小结

Set容器是C++ STL库中的关联式容器之一,它可以实现自动排序和去重。在实际开发中,Set容器能够非常方便地解决一些高效性、去重性的问题。