Введение
В этом лабораторном занятии мы научимся реализовывать Multiset из Стандартной библиотеки (Standard Library, STL) на языке C++. Multiset похож на Set тем, что он хранит уникальные значения, но отличается от Set тем, что позволяет дубликаты и не предоставляет средств индексации, связанных с вектором (vector).
Создайте файл C++ в директории проекта
Мы создадим новый файл с именем main.cpp в директории ~/project с помощью следующей команды:
touch ~/project/main.cpp
Добавьте заголовочные файлы
Добавьте следующие заголовочные файлы для Multiset, потоков ввода/вывода (Input/Output Stream), Стандартной библиотеки (Standard Library) и итераторов (Iterator), как показано в примере ниже:
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
Объявите мультимножество (Multiset)
Объявите Multiset для целочисленных значений, как показано ниже:
multiset<int> s;
Вставьте значения в мультимножество (Multiset)
Вставьте элементы в Multiset с использованием метода insert(), как показано в примере кода ниже. Он вставит числа 5, 39, 5, 82, 39 и 54 в Multiset:
s.insert(5);
s.insert(39);
s.insert(5);
s.insert(82);
s.insert(39);
s.insert(54);
Выведите размер мультимножества (Multiset) и переберите его элементы
Выведите количество элементов в Multiset, обратившись к свойству size(), и переберите все элементы 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;
Удалите элементы, меньшие, чем X
Удалите все элементы, меньшие заданного значения x, с использованием метода erase(). Метод 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
Резюме
В этом практическом занятии (лабораторной работе) был дан обзор мультимножеств (Multisets) в C++ с использованием стандартной библиотеки шаблонов (STL). Мы рассмотрели, как объявить мультимножество, вставить в него значения и изучили его методы. Мы также узнали, как удалить элементы, меньшие определенного значения, и как обойти мультимножество с использованием итераторов. Наконец, мы запустили и скомпилировали код с помощью терминала, чтобы проверить вывод.



