Menu
CoddyTech

集合

Coddy C++ 标准模板库 课程的第 8 课,共 23 课。

在这一章中,你将学习关联容器以及它们的工作方式。我们将从集合这种数据结构开始。 


C++ 的集合是一种关联容器,用于按排序顺序存储相同类型的唯一元素。这意味着每个元素在集合中只能出现一次。 

集合常用于竞赛编程。当你需要存储经过排序的唯一元素时,使用集合可以避免花费更多时间和复杂度来使用其他数据结构,例如数组、排序算法和删除重复元素。

set<int> mySet = {5, 10, 3, 5};

我们使用 #include <set> 头文件来实现集合,也可以像之前的课中提到的那样,包含所有头文件:#include <bits/stdc++.h>

set<int> mySet = {5, 10, 3, 5};

for (int i = mySet.begin(); i != mySet.end(); i++)
	cout << *i << " ";
Output:
3 5 10

如上所示,我们声明了一个带有初始值的集合。我们使用一个指向第一个元素的迭代器,遍历集合并打印所有元素。可以看到,集合会自动删除重复元素,并按从小到大的顺序对元素排序。


我们使用 insert() 方法向集合中插入元素。

mySet.insert(50);

此外,元素添加到集合后,其值不能修改。你只能删除元素并添加新元素。


集合方法

方法功能
begin()返回一个指向集合第一个元素的迭代器
end()返回一个指向集合最后一个元素的迭代器
size()返回集合中的元素数量
empty()返回集合是否为空,空时为 1,否则为 0
count()如果集合中存在某个元素,则返回 1,否则返回 0
challenge icon

挑战

简单

给定输入的 10 个数字。使用集合,只输出不重复的数字。

 

Input
5
10
1
5
3
5
10
8
6
7
Output
5
10
1
3
8
6
7

亲手试试

#include <set>
#include <iostream>

using namespace std;

int main()
{
    // Enter your code here

    return 0;
}

C++ 标准模板库中的所有课

自己练习: C++ 在线编译器