Cómo atravesar un conjunto de C++ en dirección inversa

Dado un Conjunto , la tarea es atravesar este Conjunto en orden inverso.

Ejemplos:

Input: set = [10 20 30 70 80 90 100 40 50 60]
Output: 100 90 80 70 60 50 40 30 20 10 

Input: set = [1 2 3 4 5]
Output: 5 4 3 2 1

Enfoque:
para recorrer un conjunto en orden inverso, se puede declarar un iterador inverso y se puede usar para recorrer el conjunto desde el último elemento hasta el primer elemento con la ayuda de las funciones rbegin() y rend() .

  1. Consigue el conjunto.
  2. Declare el iterador inverso en este conjunto.
  3. Recorra el conjunto desde el último elemento hasta el primer elemento con la ayuda de las funciones rbegin() y rend().

A continuación se muestra la implementación del enfoque anterior:

Programa:

#include <bits/stdc++.h>
using namespace std;
  
int main()
{
  
    // Get the set
    int arr[] = { 14, 12, 15, 11, 10 };
  
    // initializes the set from an array
    set<int> s(arr, arr + sizeof(arr) / sizeof(arr[0]));
  
    // declare iterator on set
    set<int>::iterator it;
  
    cout << "Elements of Set in normal order:\n";
  
    // prints all elements in normal order
    // using begin() and end() methods
    for (it = s.begin(); it != s.end(); it++)
        cout << *it << " ";
  
    // declare reverse_iterator on set
    set<int>::reverse_iterator rit;
  
    cout << "\nElements of Set in reverse order:\n";
  
    // prints all elements in reverse order
    // using rbegin() and rend() methods
    for (rit = s.rbegin(); rit != s.rend(); rit++)
        cout << *rit << " ";
  
    return 0;
}
Producción:

Elements of Set in normal order:
10 11 12 14 15 
Elements of Set in reverse order:
15 14 12 11 10

Publicación traducida automáticamente

Artículo escrito por AnupKodlekere y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *