C++ Standard Library C++ STL Library

C++ multiset - end() Function



The C++ multiset::end function returns the iterator pointing to the past-the-last element of the multiset container. The past-the-last element of the multiset is the theoretical element that follows the last element. It does not point to any element, and hence could not be dereferenced.

C++ begin end

Note: Multiset is an ordered data container which implies all its elements are ordered all the time.

Syntax

iterator end();
const_iterator end() const;
iterator end() noexcept;
const_iterator end() const noexcept;

Parameters

No parameter is required.

Return Value

An iterator to the past-the-last element of the sequence container. If the sequence object is constant qualified, the function returns a const_iterator, else returns an iterator.

Time Complexity

Constant i.e, Θ(1).

Example:

In the example below, the multiset::end function returns the iterator pointing to the past-the-last element of the multiset MyMSet.

#include <iostream>
#include <set>
using namespace std;
 
int main (){
  multiset<string> MyMSet{"Alpha","Coding","Skills"};
  multiset<string>::iterator it;

  it = MyMSet.end();
  it--;
  cout<<*it<<" ";
  it--;
  cout<<*it<<" ";
  it--;
  cout<<*it<<" ";
  return 0;
}

The output of the above code will be:

Skills Coding Alpha

Example:

Lets see another example where the multiset called MyMSet contains integer values and multiset::end function is used with multiset::begin function to specify a range including all elements of the multiset container. Please note that, Multiset is an ordered data container.

#include <iostream>
#include <set>
using namespace std;
 
int main (){
  multiset<int> MyMSet{55, 25, 128, 5, 72, 55};
  multiset<int>::iterator it;

  for(it = MyMSet.begin(); it != MyMSet.end(); ++it)
    cout<<*it<<" ";

  return 0;
}

The output of the above code will be:

5 25 55 55 72 128  

❮ C++ <set> Library