- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <multiset >
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ multiset Library - crbegin() Function
Description
The multiset::crbegin() function in C++ STL returns a const reverse iterator that points to the last element in the multiset container. It does not accept any parameters.
Syntax
Following is the syntax of multiset::crbegin in C++11 onwards −
const_reverse_iterator crbegin() const noexcept; //C++11 onwards
Return value
It returns a const reverse iterator. It points to the last element in the multiset container. Since it is constant, you can not modify the elements of the multiset.
Exceptions
It never throws exceptions.
Time complexity
The time complexity of multiset::crbegin() function is constant.
Examples of multiset::crbegin() Function
The following examples demonstrate the usage of multiset::crbegin() function in multiset −
Printing Elements of multiset in Reverse Order
In this example, we have used the crbegin() function with the crend() function to iterate the multiset elements in the reverse order using constant iterators −
#include <iostream>
#include <set>
using namespace std;
int main(){
multiset<int> nums = {13, 31, 7, 53, 67, 53};
cout << "Multiset elements in reverse order:\n";
for (auto it = nums.crbegin(); it != nums.crend(); ++it){
cout << *it << " ";
}
return 0;
}
The output of the above code is given below −
Multiset elements in reverse order: 67 53 53 31 13 7
Getting Largest Element using crbegin()
To get the largest element in the multiset, the crbegin() function can be used. Since, by default multiset sorts the elements in ascending order, the crbegin() function returns the const reverse iterator pointing at last element, i.e., largest element of the multiset.
#include <iostream>
#include <set>
using namespace std;
int main(){
multiset<int> nums = {10, 30, 20, 40, 30};
cout << "Multiset elements:";
for (auto it = nums.cbegin(); it != nums.cend(); ++it){
cout << " " << *it;
}
cout << "\nLargest element: " << *nums.crbegin() << endl;
return 0;
}
The output of the above code is given below −
Multiset elements: 10 20 30 30 40 Largest element: 40