Reverse las palabras en una cadena usando C ++

Reverse las palabras en una cadena usando C ++
Una variable de cadena consiste en una colección de caracteres rodeados de citas dobles. Este artículo de C ++ repasará cómo revertir las palabras en una cadena utilizando cualquier funciones incorporada y otras.

Reversar o voltear por completo una cadena en C ++ implica cambiar la secuencia de los caracteres en la cadena para aparecer hacia atrás. Dependiendo de las necesidades del programa que está implementando, podemos usar una variedad de implementaciones para revertir una cadena.

Ejemplo 1: Uso de la función de inversión incorporada para revertir palabras en una cadena en c++

C ++ incluye una función inversa para revertir cadenas. El iterador de inicio de la cadena y el iterador final de cadena son los únicos dos parámetros aceptados por esta función. La línea de código posterior muestra el uso de esta función.

Inicialmente, hemos incluido el archivo de encabezado en el código. El archivo iostream y el archivo stdc. Este archivo STDC hará que la función de cadena inversa aquí. También se proporciona el archivo de espacio de nombres STD, lo que permite el uso de sus clases y funciones en el código.

Luego, tenemos la función principal del programa, y ​​en el cuerpo de la función principal, tenemos una declaración variable de cadena como "strvalue". Al mismo tiempo, lo hemos inicializado con la palabra. La cadena de salida se mostrará a través del comando C ++ CoUT. Después de esto, utilizamos una función llamada "Reversa". La función "reversa" ingiere dos parámetros. El primer parámetro es el comienzo (), y el segundo parámetro es el iterador final () que itera sobre la cadena de palabras especificadas. La función begin () devuelve un iterador que se refiere al elemento inicial del contenedor.

Por otro lado, el iterador final () devuelve un iterador que se refiere al último elemento del contenedor. La palabra de cadena invertida se imprimirá después de la función de inversión.

#incluir
#incluir
usando el espacio de nombres STD;
int main ()
cadena strValue = "excelente";
cout<<"String:"<reverso (Strvalue.begin (), StrValue.fin());
cout<<"Reverse String:"<

Los resultados de la cadena, así como la cadena invertida, se muestran en la siguiente imagen:

Ejemplo 2: Uso de bucle para revertir palabras en una cadena en c++

Un bucle es útil para revertir una cadena. Para modificar las ubicaciones de los elementos, utilizaremos la función de intercambio, que es un método incorporado de C++. Discutamos el siguiente fragmento de código para revertir una cadena.

Hemos agregado los archivos de encabezado en el código. En el siguiente paso, hemos invocado la función principal, en la que implementamos el código para revertir una cadena. Primero, hemos definido una variable de cadena "MyString". La variable de cadena "myString" contiene una palabra de cadena "kalsoom", en la que tenemos que aplicar el método inverso. Hemos mostrado la cadena con la instrucción Cout. Luego, hemos declarado una variable int "strlen", que ha llamado la función de longitud para la cadena dada. También hemos declarado otra variable int "s" para mantener el "strlen-1". El procedimiento "strlen-1" necesita la longitud de la cadena hasta el personaje en la última posición.

Luego, tenemos un algoritmo de intercambio donde se usa "temperatura" para almacenar los elementos del "char" en el índice "i" para que podamos intercambiarlo con los elementos de char en el índice "s" más tarde. Luego se muestra la cadena invertida de este programa. Después de eso, tenemos una condición de bucle for For que revertirá la palabra de la cadena especificada.

#incluir
usando el espacio de nombres STD;
int main ()
String myString = "Kalsoom";
cout<<"Original String: "<int strlen = mystring.longitud();
int s = strlen-1;
para (int i = 0; i<(strlen/2);i++)
char temp = myString [i];
MyString [i] = myString [s];
MyString [s] = temp;
S = S-1;

cout<<"Reversed String: "<

Puede ver la cadena original "Kalsoom" y el reverso de la cadena dada en la solicitud de Ubuntu.

Ejemplo 3: Uso de una función para revertir las palabras en una cadena en C++

La recursión también se utiliza para hacer una función de cadena inversa. La ilustración de código posterior demuestra cómo podemos revertir la cadena a través de la función.

En el primer paso, tenemos una función llamada "Revstr", y el constructor también se genera para esta función. El constructor toma la referencia de cadena, la variable entero "I" y la otra variable entera "J". En la función "Revstr", tenemos la condición if y la función de intercambio, que cambia el índice "I" con el índice "J". Se requiere que la función "revstr" se convierta en la siguiente palabra de la cadena para revertir.

Al final, la función principal tiene el comando cout utilizado para imprimir la cadena antes del método inverso y después del método inverso.

#incluir
usando el espacio de nombres STD;
void revstr (string & str, int i, int j)
si yo<=j)return;
intercambio (str [i], str [j]);
Revstr (Str, I-1, J+1);

int main ()
String mystr = "Linux";
cout<<"String: "<Revstr (mystr, mystr.longitud ()-1,0);
cout<<"Reversed String: "<

La siguiente captura de pantalla muestra la salida de la cadena antes y después de aplicar la función:

Ejemplo 4: Crear una nueva cadena para invertir palabras en una cadena en c++

Lucar hacia atrás sobre una cadena y mantener el contenido en una nueva cadena del mismo tamaño es un enfoque de rotonda para invertirla. El método push-back () puede agregar caracteres a una cadena vacía.

En la función principal del siguiente programa, hemos declarado una variable de cadena "StringOne" y almacenamos una palabra de cadena en ella. Luego, hemos declarado otra variable, "new_string". El bucle for For se usa para la variable de cadena "StringOne", que itera sobre el último carácter de la cadena y devuelve la cadena en orden inverso. Luego, con el método push_back (), hemos agregado el valor de cadena devuelto desde el bucle for en el nuevo_string. Al final, la cadena y la cadena invertida se imprimirán.

#incluir
usando el espacio de nombres STD;
int main ()
String StringOne = "Programming";
cadena new_string;
para (int s = stringone.longitud ()-1; s> = 0; s--)
New_string.push_back (stringOne [s]);

cout<<"String: "<cout<<"Reversed string: "<

Se muestran los siguientes resultados que la cadena se invierte en la ejecución del programa anterior:

Conclusión

Aquí, invertimos la cadena de palabras explorando las posibles formas de revertir la cadena en C++. Hemos invertido la cadena con la función incorporada C ++, el método y la función de bucle, y la creación de una nueva cadena. Todos los resultados obtenidos de estos métodos para revertir los métodos de cadena han probado los resultados mediante el uso del compilador C ++ en Ubuntu 20.04.