Open In App

set::rbegin() and set::rend() in C++ STL

  1. set::rbegin() is a built-in function in C++ STL which returns a reverse iterator pointing to the last element in the container.

    Syntax:

    reverse_iterator set_name.rbegin()
    

    Parameters: The function does not take any parameter.

    Return value: The function returns a reverse iterator pointing to the last element in the container.

    Program to demonstrate the set::rbegin() method:

    Program 1:




    // CPP program to demonstrate the
    // set::rbegin() function
    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
      
        int arr[] = { 14, 12, 15, 11, 10 };
      
        // initializes the set from an array
        set<int> s(arr, arr + 5);
      
        set<int>::reverse_iterator rit;
      
        // prints all elements in reverse order
        for (rit = s.rbegin(); rit != s.rend(); rit++)
            cout << *rit << " ";
      
        cout << "\nThe last element in set is " << *(s.rbegin());
      
        return 0;
    }
    
    
    Output:
    15 14 12 11 10 
    The last element in set is 15
    
  2. set::rend() in an inbuilt function in C++ STL which returns a reverse iterator pointing to the theoretical element right before the first element in the set container.

    Syntax:

    reverse_iterator set_name.rend()
    

    Parameter: The function does not accepts any parameter.

    Return value: The function returns a reverse iterator pointing to the theoretical element right before the first element in the set container.

    Below programs illustrate the function:

    Program 1:




    // CPP program to demonstrate the
    // set::rend() function
    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
      
        int arr[] = { 4, 3, 5, 1, 2 };
      
        // initializes the set from an array
        set<int> s(arr, arr + 5);
      
        set<int>::reverse_iterator rit;
      
        // prints all elements in reverse order
        for (rit = s.rbegin(); rit != s.rend(); rit++)
            cout << *rit << " ";
      
        return 0;
    }
    
    
    Output:
    5 4 3 2 1
    

Article Tags :