std::string::crbegin() y std::string::crend() en C++ con ejemplos

estándar::string::crbegin()

El std::string::crbegin() es una función integrada de clase de string que devuelve un iterador inverso constante que hace referencia al último elemento de la string. El uso de este iterador inicia el recorrido de la string desde el final de la string. Archivo de cabecera:

#include <string>

Clase de plantilla:

template <class C>
auto crbegin( const C& c ) 
        -> decltype(std::rbegin(c));

Sintaxis:

string_name.crbegin()

Parámetros: Esta función no requiere ningún parámetro. Valor de retorno: esta función std::string::crbegin() devuelve un iterador inverso constante que hace referencia al último elemento de la string. A continuación se muestra el programa para ilustrar string::crbegin() : Programa 1: 

CPP

// C++ program to illustrate
// std::string:crbegin()
 
#include <iostream>
#include <string>
using namespace std;
 
// Driver Code
int main()
{
 
    // Given string
    string str("GeeksForGeeks");
 
    // Traverse the given string using
    // reverse iterator crbegin()
    for (auto it = str.crbegin();
        it != str.crend(); it++) {
 
        // Print the elements
        cout << *it;
    }
    return 0;
}
Producción:

skeeGroFskeeG

Complejidad de tiempo: O(N) // Donde N es la longitud de la string.
Espacio Auxiliar: O(1)

std::string::crend()

El std::string::crend() es una función integrada de clase de string que devuelve un iterador inverso constante que apunta al elemento teórico antes del primer elemento de la string. Este iterador se utiliza para llegar al inicio de la string mientras se recorre la string en orden inverso. Clase de plantilla:

template <class C>
auto crend( const C& c ) 
      -> decltype(std::rend(c));

Sintaxis:

string_name.crend()

Parámetros: Esta función no requiere ningún parámetro. Valor de retorno: esta función std::string::crend() devuelve un iterador inverso constante que apunta al elemento anterior al primer elemento de la string. A continuación se muestra el programa para ilustrar string::crend() : Programa 2: 

CPP

// C++ program to illustrate
// std::string:crend()
 
#include <iostream>
#include <string>
using namespace std;
 
// Driver Code
int main()
{
    // Given string
    string str("GeeksForGeeks");
 
    // Find string length
    int N = str.length();
 
    // Given character
    char ch = 'k';
 
    // To check whether the char is
    // present or not
    bool a = true;
 
    // Traverse the given string using
    // reverse iterator crbegin() and
    // check if ch is present or not
    for (auto it = str.crbegin();
        it != str.crend(); it++) {
 
        if (*it == ch) {
            cout << "The last index is "
                << N - (it - str.crbegin() + 1)
                << endl;
            a = false;
            break;
        }
    }
 
    if (a) {
        cout << "Character is not present";
    }
 
    return 0;
}
Producción:

The last index is 11

Complejidad de tiempo: O(N) // Donde N es la longitud de la string.
Espacio Auxiliar: O(1)

Veamos las diferencias en forma tabular -:

  estándar::string::crbegin() std::string::crend() 
1. Se utiliza para devolver un const_reverse_iterator que apunta al último carácter de la string. Se utiliza para devolver un const_reverse_iterator que apunta al carácter teórico que precede al primer carácter de la string.
2.

Su sintaxis es -:

const_reverse_iterator crbegin()

Su sintaxis es -:

const_reverse_iterator crend();

3. No toma ningún parámetro. No toma ningún parámetro.
4. Su complejidad es constante. Su complejidad es constante.
5. Su validez de iterador no cambia. Su validez de iterador no cambia.

Publicación traducida automáticamente

Artículo escrito por pranjal_g99 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 *