C++ Unordered Multiset Program Using STL

Beginner

Introduction

In this lab, we will create a C++ program to demonstrate the working of an Unordered Multiset in STL. We will learn about the concept of Unordered Multiset and its implementation in the C++ programming language.

Include Header Files

In this step, we will include the necessary header files for our program. We will include the iostream and unordered_set header files.

#include<iostream>
#include<unordered_set>

using namespace std;

Define Functions to Display Multiset and Vector

In this step, we will define two functions to display the contents of an Unordered Multiset and a Vector.

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 << "  ";
    }
}

Declare and Fill Unordered Multiset

In this step, we will declare an Unordered Multiset and fill it with some elements using the insert() method.

unordered_multiset<int> s;

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

Display Unordered Multiset and Its Size

In this step, we will display the Unordered Multiset and its size using the showMultiset() function and the size() method.

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

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

Sort and Display Unordered Multiset Using a Vector

In this step, we will copy the elements of the Unordered Multiset to a Vector and sort the Vector. Then we will display the sorted elements of the Unordered Multiset using the showVector() function.

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);

Run the Code

In this step, we will run the code by compiling it using the g++ command and then executing it using the ./a.out command.

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

The output should be:

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

Summary

In this lab, we learned about the concept of Unordered Multisets and their implementation in C++ using the STL library. We saw how to declare and initialize an Unordered Multiset, how to display its contents, and how to sort it using a Vector.

We hope you enjoyed this lab and found it useful for learning about Unordered Multisets in C++.

Other Tutorials you may like