一、set容器
(1)简介
STL中的set容器是一个在计算机科学领域十分重要的概念。
set翻译为集合的意思,是一个内部自动有序且不含有重复元素的容器,set最主要的作用是自动去重并按升序排序,因此在遇到需要去重但是不方便开数组的时候,使用set就非常方便,set容器中的元素是唯一的,其内部采用“红黑树”实现。
set容器定义于<set>头文件,并且为于namespace std空间里,若想用set容器,则需先写入如下代码:
#include<set>//用万能头<bits/stdc++.h>的当我没说
using namespace std;
定义set的方式如下:
set<typename> name;
(2)相关函数Ⅰ
| 成员方法 | 功能 |
|---|---|
| insert() | 向set中添加元素。 |
| count(val) | 在当前set容器里,查找值为val的个数并返回,由于set里元素的值是唯一的,该函数只能返回0(没有元素)或1。 |
| empty() | 若容器为空,返回TRUE,否则返回false。 |
| size() | 返回当前set容器中元素的个数 |
| clear() | 清空当前set容器中的所有元素 |
二、set的迭代器
注意:set只能通过迭代器访问,即先定义一个迭代器:
set<typename>::iterator it;
说明!
1.双向访问迭代器
2.不支持随机访问
3.支持星号应用,如:cout<<*it<<endl;
4.仅支持++,--两个算数运算
5.仅支持!=,== 两个关系运算
(1)相关函数Ⅱ
| 成员方法 | 功能 |
|---|---|
| begin() | 返回容器中已排好序的第一个元素的双向迭代器 |
| end() | 返回容器中已排好序的最后一个元素的下一个位置双向迭代器 |
| erase() | 删除set中储存的容器 |
| find(val) | 在set中招值为val的值,找到了,返回该元素的迭代器,否则返回end()的迭代器 |
本文介绍了STL中的set容器,它是一个自动排序且不允许重复元素的集合,内部基于红黑树实现。set的主要功能包括元素的插入、计数、检查容器是否为空、获取元素数量及清空容器。此外,还详细讲解了set的迭代器,它是双向访问的,不支持随机访问,提供了begin()、end()等操作以遍历和删除元素。
1589

被折叠的 条评论
为什么被折叠?



