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() .
- Consigue el conjunto.
- Declare el iterador inverso en este conjunto.
- 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