Программа на C++ с использованием неупорядоченного множества с повторениями из STL

C++C++Beginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабораторном задании мы создадим программу на C++, чтобы продемонстрировать работу неупорядоченного множества с повторениями в STL. Мы узнаем о концепции неупорядоченного множества с повторениями и его реализации в языке программирования C++.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/FunctionsGroup(["Functions"]) cpp/BasicsGroup -.-> cpp/variables("Variables") cpp/BasicsGroup -.-> cpp/strings("Strings") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/FunctionsGroup -.-> cpp/function_parameters("Function Parameters") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/StandardLibraryGroup -.-> cpp/standard_containers("Standard Containers") subgraph Lab Skills cpp/variables -.-> lab-96233{{"Программа на C++ с использованием неупорядоченного множества с повторениями из STL"}} cpp/strings -.-> lab-96233{{"Программа на C++ с использованием неупорядоченного множества с повторениями из STL"}} cpp/for_loop -.-> lab-96233{{"Программа на C++ с использованием неупорядоченного множества с повторениями из STL"}} cpp/function_parameters -.-> lab-96233{{"Программа на C++ с использованием неупорядоченного множества с повторениями из STL"}} cpp/output -.-> lab-96233{{"Программа на C++ с использованием неупорядоченного множества с повторениями из STL"}} cpp/standard_containers -.-> lab-96233{{"Программа на C++ с использованием неупорядоченного множества с повторениями из STL"}} end

Подключение заголовочных файлов

В этом шаге мы подключим необходимые заголовочные файлы для нашей программы. Мы подключим заголовочные файлы iostream и unordered_set.

#include<iostream>
#include<unordered_set>

using namespace std;

Определение функций для отображения множества с повторениями и вектора

В этом шаге мы определим две функции для отображения содержимого неупорядоченного множества с повторениями и вектора.

void showMultiset(unordered_multiset<int> s)
{
    unordered_multiset<int>::iterator i;

    for (i = s.begin(); i!= s.end(); i++)
    {
        cout << *i << "  ";
    }
}

void showVector(vector<int> v)
{
    vector<int>::iterator i;

    for (i = v.begin(); i!= v.end(); i++)
    {
        cout << *i << "  ";
    }
}

Объявление и заполнение неупорядоченного множества с повторениями

В этом шаге мы объявим неупорядоченное множество с повторениями и заполним его некоторыми элементами с использованием метода insert().

unordered_multiset<int> s;

s.insert(50);
s.insert(30);
s.insert(50);
s.insert(80);
s.insert(30);
s.insert(60);

Отображение неупорядоченного множества с повторениями и его размера

В этом шаге мы отобразим неупорядоченное множество с повторениями и его размер с использованием функции showMultiset() и метода size().

cout << "\n\nThe number of elements in the Unordered Multiset are: " << s.size();

cout << "\n\nThe elements of the Unordered Multiset are: ";
showMultiset(s);

Сортировка и отображение неупорядоченного множества с повторениями с использованием вектора

В этом шаге мы скопируем элементы неупорядоченного множества с повторениями в вектор и отсортируем вектор. Затем мы отобразим отсортированные элементы неупорядоченного множества с повторениями с использованием функции showVector().

vector<int> v(s.begin(), s.end());

sort(v.begin(), v.end());

cout << "\n\nThe elements of the Unordered Multiset after sorting using a vector are: ";

showVector(v);

Запуск кода

В этом шаге мы запустим код, скомпилировав его с использованием команды g++, а затем выполнив с использованием команды ./a.out.

g++ main.cpp -o main &&./main

Результат должен быть таким:

The number of elements in the Unordered Multiset are: 6

The elements of the Unordered Multiset are: 50  30  80  50  30  60

The elements of the Unordered Multiset after sorting using a vector are: 30  30  50  50  60  80

Резюме

В этом практическом занятии мы изучили концепцию неупорядоченных множеств с повторениями и их реализацию на C++ с использованием библиотеки STL. Мы увидели, как объявить и инициализировать неупорядоченное множество с повторениями, как отобразить его содержимое и как отсортировать его с использованием вектора.

Надеемся, что вам понравилось это практическое занятие и оно оказалось полезным для изучения неупорядоченных множеств с повторениями на C++.