介绍
在本实验中,我们将学习如何在 C++ 中实现标准库(STL)中的 Multiset。Multiset 与 Set 类似,它存储唯一的值,但与 Set 不同的是,它允许重复值,并且不提供与 vector 相关的索引功能。
在本实验中,我们将学习如何在 C++ 中实现标准库(STL)中的 Multiset。Multiset 与 Set 类似,它存储唯一的值,但与 Set 不同的是,它允许重复值,并且不提供与 vector 相关的索引功能。
我们将在 ~/project
目录中使用以下命令创建一个名为 main.cpp
的新文件:
touch ~/project/main.cpp
为 Multiset、输入/输出流、标准库和迭代器添加以下头文件,如下例所示:
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
声明一个存储整数值的 Multiset,如下所示:
multiset<int> s;
使用 insert()
方法向 Multiset 中插入元素,如下例代码所示。它将向 Multiset 中插入 5、39、5、82、39 和 54:
s.insert(5);
s.insert(39);
s.insert(5);
s.insert(82);
s.insert(39);
s.insert(54);
通过访问 size()
属性打印 Multiset 中的元素数量,并使用迭代器遍历 Multiset 中的所有元素,如下所示:
cout << "The number of elements in the Multiset : " << s.size() << "\n";
multiset<int>::iterator it;
cout << "\nElements of the Multiset : ";
for (it = s.begin(); it != s.end(); it++)
cout << *it << " ";
cout << endl;
使用 erase()
方法删除所有小于给定值 x
的元素。erase()
方法会删除从 Multiset 开始到给定值之间的所有元素,但不包括给定值的元素,如下所示:
s.erase(s.begin(), s.find(x));
使用终端编译程序。使用以下命令编译程序:
g++ main.cpp -o main && ./main
成功运行程序后,你将得到以下输出:
The number of elements in the Multiset : 6
Elements of the Multiset : 5 5 39 39 54 82
本实验通过使用 STL 介绍了 C++ 中的 Multiset。我们学习了如何声明 Multiset、向其中插入值,并探索了其方法。我们还学习了如何删除小于特定值的元素,以及如何使用迭代器遍历 Multiset。最后,我们通过终端运行并编译代码以检查输出。