Saltar al contenido

Escribe una función recursiva que invierta la entrada string

Nuestro equipo de especialistas pasados muchos días de trabajo y de recopilar de datos, hemos dado con los datos necesarios, nuestro deseo es que todo este artículo sea de utilidad en tu trabajo.

Solución:

En cambio, explicaré el algoritmo recursivo en sí. Tome el ejemplo “entrada” que debería producir “tupni”. Puedes invertir el string recursivamente por

  • Si el string está vacío o es un solo carácter, devuélvalo sin cambios.
  • De lo contrario,
    1. Elimina el primer carácter.
    2. Invertir el resto string.
    3. Agregue el primer carácter de arriba al invertido string.
    4. Devolver el nuevo string.

prueba este

string reverse(string &s)

    if( s.length() == 0 )  // end condtion to stop recursion
        return "";

    string last(1,s[s.length()-1]);  // create string with last character
    string reversed = reverse(s.substr(0,s.length()-1));
    return last+reversed; // Make he last character first

Una función recursiva debe tener las siguientes propiedades

  • Debe volver a llamarse a sí mismo
  • Debe tener una condición cuando finaliza la recursión. De lo contrario, tiene una función que provocará un desbordamiento de pila.

Esta función recursiva básicamente crea un string del último carácter y luego volver a llamarse a sí mismo con el resto del string excluyendo el último carácter. El cambio real ocurre en la última línea donde se devuelve last+reversed. Si fuera al revés no pasaría nada.

Es muy ineficiente pero funciona para mostrar el concepto.

Solo para sugerir una mejor manera de manejar la recursividad:

Inversión de cadenas usando recursividad en C++:

#include 
#include 
using namespace std;

string reverseStringRecursively(string str)
    if (str.length() == 1) 
        return str;
    else
        return reverseStringRecursively(str.substr(1,str.length())) + str.at(0);
    


int main()

    string str;
    cout<<"Enter the string to reverse : ";
    cin>>str;

    cout<<"The reversed string is : "<

Aquí puedes ver las reseñas y valoraciones de los lectores

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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