Home » C++ multiset

C++ STL Multiset

Introduction to multiset

Multisets are part of the C++ STL (Standard Template Library). Multisets are the associative containers like Set that stores sorted values (the value is itself the key, of type T), but unlike Set which store only unique keys, multiset can have duplicate keys. By default it uses < operator to compare the keys.

The value of the elements in a multiset can be inserted or deleted but cannot be altered (The elements are always const).

Syntax

Parameters

T: Type of element stored in the container multiset.

Compare: A comparison class that takes two arguments of the same type bool and returns a value. This argument is optional and the binary predicate less is the default value.

Alloc: Type of the allocator object which is used to define the storage allocation model.

Example 1

Let’s see an example to demonstrate C++ Multiset:

Output:

---------------------  Multiset Example    ---------------------  1.Insert Number into the Multiset  2.Delete Element from the Multiset  3.Find Element in a Multiset  4.Count Elements with a specific key  5.Size of the Multiset  6.Display Multiset  7.First Element of the Multiset  8.Exit  Enter your Choice: 1  Enter value to be inserted: 100    ---------------------  Multiset Example    ---------------------  1.Insert Number into the Multiset  2.Delete Element from the Multiset  3.Find Element in a Multiset  4.Count Elements with a specific key  5.Size of the Multiset  6.Display Multiset  7.First Element of the Multiset  8.Exit  Enter your Choice: 1  Enter value to be inserted: 200    ---------------------  Multiset Example    ---------------------  1.Insert Number into the Multiset  2.Delete Element from the Multiset  3.Find Element in a Multiset  4.Count Elements with a specific key  5.Size of the Multiset  6.Display Multiset  7.First Element of the Multiset  8.Exit  Enter your Choice: 1  Enter value to be inserted: 300    ---------------------  Multiset Example    ---------------------  1.Insert Number into the Multiset  2.Delete Element from the Multiset  3.Find Element in a Multiset  4.Count Elements with a specific key  5.Size of the Multiset  6.Display Multiset  7.First Element of the Multiset  8.Exit  Enter your Choice: 2  Enter value to be deleted: 200    ---------------------  Multiset Example    ---------------------  1.Insert Number into the Multiset  2.Delete Element from the Multiset  3.Find Element in a Multiset  4.Count Elements with a specific key  5.Size of the Multiset  6.Display Multiset  7.First Element of the Multiset  8.Exit  Enter your Choice: 3  Enter element to find 100  Element found    ---------------------  Multiset Example    ---------------------  1.Insert Number into the Multiset  2.Delete Element from the Multiset  3.Find Element in a Multiset  4.Count Elements with a specific key  5.Size of the Multiset  6.Display Multiset  7.First Element of the Multiset  8.Exit  Enter your Choice: 4  Enter element to be counted: 100  100 appears 1 times.    ---------------------  Multiset Example    ---------------------  1.Insert Number into the Multiset  2.Delete Element from the Multiset  3.Find Element in a Multiset  4.Count Elements with a specific key  5.Size of the Multiset  6.Display Multiset  7.First Element of the Multiset  8.Exit  Enter your Choice: 5  Size of the Multiset: 2    ---------------------  Multiset Example    ---------------------  1.Insert Number into the Multiset  2.Delete Element from the Multiset  3.Find Element in a Multiset  4.Count Elements with a specific key  5.Size of the Multiset  6.Display Multiset  7.First Element of the Multiset  8.Exit  Enter your Choice: 6  Elements of the Multiset:  100  300      ---------------------  Multiset Example    ---------------------  1.Insert Number into the Multiset  2.Delete Element from the Multiset  3.Find Element in a Multiset  4.Count Elements with a specific key  5.Size of the Multiset  6.Display Multiset  7.First Element of the Multiset  8.Exit  Enter your Choice: 7  The First Element of the Multiset is 100    ---------------------  Multiset Example    ---------------------  1.Insert Number into the Multiset  2.Delete Element from the Multiset  3.Find Element in a Multiset  4.Count Elements with a specific key  5.Size of the Multiset  6.Display Multiset  7.First Element of the Multiset  8.Exit  Enter your Choice: 8  

Example 2

Let’s see another example to demonstrate C++ Multiset:

Output:

Marks of ms1 class Room:     600  500  500  400  300  200  100    The Number of students in class Room after assigning Class Room students:     100  200  300  400  500  500  600    Highest marks in ms1 Class Room: 600  Highest marks in ms2 Class Room: 100    ms2 Class Room after removal of Students less than 300 marks:     300  400  500  500  600    ms2.erase(500) : 2 removed   300  400  600    ms1.lower_bound(400) : 400  ms1.upper_bound(400) : 300  ms2.lower_bound(400) : 400  ms2.upper_bound(400) : 600  

Member Functions

Below is the list of all member functions of multiset:

Constructor/Destructor

Functions Description
(constructor) Construct multiset
(destructor) Multiset destructor
operator= Copy elements of the multiset to another multiset.

Iterators

Functions Description
Begin Returns an iterator pointing to the first element in the multiset.
Cbegin Returns a const iterator pointing to the first element in the multiset.
End Returns an iterator pointing to the past-end.
cend Returns a constant iterator pointing to the past-end.
rbegin Returns a reverse iterator pointing to the end.
rend Returns a reverse iterator pointing to the beginning.
crbegin Returns a constant reverse iterator pointing to the end.
crend Returns a constant reverse iterator pointing to the beginning.

Capacity

Functions Description
empty Returns true if multiset is empty.
size Returns the number of elements in the multiset.
max_size Returns the maximum size of the multiset.

Modifiers

Functions Description
insert Insert element in the multiset.
erase Erase elements from the multiset.
swap Exchange the content of the multiset.
clear Delete all the elements of the multiset.
emplace Construct and insert the new elements into the multiset.
emplace_hint Construct and insert new elements into the multiset by hint.

Observers

Functions Description
key_comp Return a copy of key comparison object.
value_comp Return a copy of value comparison object.

Operations

Functions Description
find Search for an element with given key.
count Gets the number of elements matching with given key.
lower_bound Returns an iterator to lower bound.
upper_bound Returns an iterator to upper bound.
equal_range Returns the range of elements matches with given key.

Allocator

Functions Description
get_allocator Returns an allocator object that is used to construct the multiset.

Non-Member Overloaded Functions

Functions Description
operator== Checks whether the two multisets are equal or not.
operator!= Checks whether the two multisets are equal or not.
operator< Checks whether the first multiset is less than other or not.
operator<= Checks whether the first multiset is less than or equal to other or not.
operator> Checks whether the first multiset is greater than other or not.
operator>= Checks whether the first multiset is greater than equal to other or not.
swap() Exchanges the element of two multisets.

Next TopicC++ multiset

You may also like