C++ 集合数组

17 Mar 2025 | 5 分钟阅读

数组定义为以连续方式存储的数据项的集合。数组存储相同类型的不同变量。由于变量存储在连续位置,因此访问它们变得更容易。

例如

Array of sets in C++

这是一个包含六个元素的数组。假设数组名为 arr[]。现在,如果我们要访问这些元素,可以通过索引 0 到 n-1 访问它们。其中,n 是数组的大小。

Arr[0] = 10

Arr[1] = 20

Arr[2] = 30

Arr[3] = 40

Arr[4] = 50

Arr[5] = 60

集合 (Sets)

集合是一种关联容器,其中的元素是唯一的。与数组不同,集合中输入的值在添加后不能修改。但是,如果我们要更新集合中的值,我们可以先将其删除,然后输入修改后的值。

语法

示例

set<int> s ----- 一个整数值集合

set<char> c ---- 一个字符值集合

集合数组

当我们说集合数组时,它是一个具有固定行数的二维数组。每行可以具有可变长度。

在集合数组中,每个数组索引存储一个集合。该集合可以通过迭代器访问。\

Array of sets in C++

语法

示例

set<int> s[3] ----> 一个大小为 3 的整数类型集合数组

集合数组中的插入操作

插入将使用 insert() 函数进行,因为这里的每一行都是一个集合。因此,我们使用以下方式将元素插入到集合数组中:

set_variable[row_number].insert(element)

示例

s[0].insert(10) ----> 在第 1 行插入 10

s[1].insert(20) ----> 在第 2 行插入 20

编码

输出

Row 1 = Elements at index 0: 10 20 30 40 
Row 2 = Elements at index 1: 50 60 70 80 
Row 3 = Elements at index 2: 90 100 110 120 

集合数组中的删除操作

当我们说删除元素时,我们指的是从集合中移除元素。从集合中移除元素的函数是 erase()。

编码

在此示例中,我们从集合 3 中删除了一个元素,从集合 2 中删除了一个元素。请记住,由于数组索引从 0 开始,集合索引是 i-1。

输出

Before removal elements are:
Elements at index 0: 10 20 30 40 
Elements at index 1: 50 60 70 80 
Elements at index 2: 90 100 110 120 

After removal elements are:
Elements at index 0: 10 20 30 40 
Elements at index 1: 60 70 80 
Elements at index 2: 90 110 120 

集合数组中的遍历操作

当我们遍历集合数组时,我们会迭代每个集合并打印该集合中的所有元素。迭代器用于遍历集合元素。

编码

在下面的示例中,我们创建了一个包含两行的集合数组。第一行在集合中有三个元素,第二行在集合中有两个元素。

要遍历集合数组,我们对行运行一个外层循环。在内层循环中,我们使用迭代器打印每个集合。

输出

Elements at index 0: 10 15 35 
Elements at index 1: 20 30 

下一个主题C++ 中的智能指针