Cadena inversa en C++

Cadena Inversa En C



En muchos escenarios de programación en C++, puede que sea necesario invertir una cadena. Invertir una cadena implica cambiar el orden de los caracteres en la cadena y configurarlos en orden inverso o simplemente podría estar imprimiendo una cadena al revés. Todo lo que se necesita para invertir una cadena es mover su elemento final al lugar inicial de la cadena y así sucesivamente. En algunas situaciones, es posible que sea necesario invertir la cadena en su dirección de forma permanente. C++ proporciona varios métodos para invertir la cadena.

Técnicas para invertir una cadena en programación C++

Dependiendo de las especificaciones del código que estemos desarrollando, existen varias técnicas para implementar la inversión de cadenas en la programación C++. Estas técnicas son:

  • Utilizando el método “reverse()”
  • Utilizando el método “strrev()”
  • Utilizando el bucle 'for'
  • Utilizando el bucle ' while '
  • Utilizando el constructor

Ejemplo 1:

Primero, importamos tres archivos de encabezado distintos que son 'algoritmo', 'iostream' y 'cadena'. Debemos incluir estos archivos de encabezado para poder utilizar las funciones que se definen en ellos. El archivo de encabezado del 'algoritmo' incluye numerosas funciones integradas para buscar, ordenar, contar, modificar, etc. que están disponibles para nosotros.







Luego, 'iostream' proporciona funciones para ingresar o generar datos, y se incluye el archivo de encabezado 'cadena', ya que proporciona las funciones necesarias mientras se trabaja con los datos de cadena. Debajo de estos archivos de encabezado, agregamos el espacio de nombres 'std'. Aquí, invocamos la función 'principal()'.



Luego, colocamos el tipo de datos 'cadena' e inicializamos 'originalStr' aquí con algunos datos de cadena. Luego, imprimimos esa cadena. Después de esto, utilizamos el método 'reverse()' que ayuda a invertir la cadena. En este método 'reverse()', agregamos 'begin()' y 'end()' junto con la variable 'originalStr'. Ahora, también imprimimos esta cadena invertida que obtenemos después de aplicar el método “reverse()”.



Código 1:





#incluir
#incluir
#incluir
usando espacio de nombres enfermedad de transmisión sexual ;
En t principal ( )
{
cadena originalStr = 'Cadena inversa en programación C++' ;
    corte << '¡La cadena original!' << fin ;
      corte << originalStr << fin << fin ;
contrarrestar ( originalStr. comenzar ( ) , originalStr. fin ( ) ) ;
      corte << '¡La cuerda invertida!' << fin ;
    corte << originalStr ;
    devolver 0 ;
}

Producción:
La cadena invertida que obtenemos después de aplicar el método 'reverse()' en nuestro código ahora se representa junto con la cadena original.



Ejemplo 2:

Primero incluimos los archivos de encabezado y luego colocamos el 'espacio de nombres estándar'. Luego, en el método “main()”, inicializamos la matriz de caracteres colocando el tipo de datos “char” con el nombre de la variable “Org_str” y escribimos aquí la cadena que queremos revertir. Luego, renderizamos este 'Org_str' con la ayuda de 'cout'.

Debajo de esto, utilizamos el método 'strrev()' para invertir la cadena y pasar 'Org_str' como parámetro en esta función. Ahora, aquí la cadena está invertida. Después de esto, también renderizamos la cadena invertida con la ayuda de 'cout'.

Código 2:

#incluir
#incluir
usando espacio de nombres enfermedad de transmisión sexual ;
En t principal ( )
{
    carbonizarse cadena_org [ ] = 'Programa de inversión de cadenas' ;
    corte << cadena_org << fin << fin ;
strrev ( cadena_org ) ;
    corte << 'Cuerda invertida' << fin ;
    corte << cadena_org ;
    devolver 0 ;
}

Producción:
Aquí, se representan las cadenas originales e invertidas que obtuvimos al usar el método 'strrev()' en nuestro código.

Ejemplo 3:

En este caso, los archivos de encabezado se incluyen antes de agregar el 'espacio de nombres estándar'. Luego, se invoca “main()” y se agrega la variable de cadena con el nombre “myOrgStr” y se inicializa con los datos de la cadena.

Después de esto, también declaramos la variable 'int' 'a' y representamos la cadena 'myOrgStr' usando 'cout'. Debajo de esto, utilizamos el bucle “for” donde inicializamos la variable “a” con “myOrgStr.length() – 1” y luego colocamos una condición que es “a >= 0” y la reducimos en el valor de “a ”. Esto invierte nuestra cadena y la almacena en 'myOrgStr[a]' y también la muestra cuando colocamos 'myOrgStr[a]' dentro de 'cout'.

Código 3:

#incluir
#incluir
usando espacio de nombres enfermedad de transmisión sexual ;
En t principal ( )
{
cadena myOrgStr = '¡Hola Mundo!' ;
    En t a ;
    corte << miOrgStr << fin << fin ;
    corte << 'Cuerda invertida' <= 0 ; a -- )
    {
        corte << miOrgStr [ a ] ;
    }
    devolver 0 ;
}

Producción:
Esto representa tanto la cadena original como la invertida que obtuvimos a través de nuestro código usando el método de bucle 'for'.

Ejemplo 4:

Aquí, importamos el archivo de encabezado “bits/stdc++.h” para que no necesitemos importar los otros archivos de encabezado, ya que este archivo de encabezado contiene todas las definiciones de la función. Luego, escribimos el 'espacio de nombres estándar'. Aquí, creamos una función con el nombre 'Rev()' en la que pasamos 'string& myString' como argumento de esta función. Creamos esta función aquí para invertir la cadena.

En esta función colocamos la variable “S_len” del tipo de datos “int” y la inicializamos con la función “length()” colocando “myString” con esta. Luego, tenemos otra variable que es 'no' del tipo de datos 'int' y la inicializamos con 'S_len-1'.

Debajo de esto, se inicializa una variable más que se denomina 'a' del tipo de datos 'int'. Aquí, utilizamos el bucle ' while() ' y agregamos 'a <= no' como condición. Luego, utilizamos el método 'swap()'. Este método 'swap()' ayuda a intercambiar los datos de la cadena y luego inicializa 'no' con 'no -1'. También inicializamos “a” con “a+1”.

Luego invocamos 'main()' aquí en el que inicializamos la variable 'myString' con los datos de la cadena e imprimimos esa cadena. Después de esto, llamamos a la función 'Rev()' que creamos en este código y ponemos 'myString' como parámetro de esta función que invierte la cadena y luego muestra la cadena invertida.

Código 4:

#incluir
usando espacio de nombres enfermedad de transmisión sexual ;
vacío Rdo ( cadena & micadena )
{
    En t S_len = miCadena. longitud ( ) ;
    En t no = S_len - 1 ;
    En t a = 0 ;
    mientras ( a <= no ) {
intercambio ( micadena [ a ] , mi cadena [ no ] ) ;
        no = no - 1 ;
a = a + 1 ;
}

}
En t principal ( )
{
cadena miCadena = 'Me encanta la programación' ;
    corte << micadena << fin ;
    corte << ' \norte Cadena invertida' << fin ;
Rdo ( micadena ) ;
    corte << micadena ;
    devolver 0 ;
}

Producción:
Aquí, presentamos tanto la cadena original como la cadena invertida que obtuvimos utilizando el bucle ' while() ' y el método 'swap()' dentro de la función que creamos en nuestro código.

Ejemplo 5:

Importamos el archivo de encabezado “bits/stdc++.h” con todas las definiciones de funciones. Por lo tanto, no necesitamos importar ningún otro archivo de encabezado. A continuación, ingresamos el 'espacio de nombres estándar' y llamamos 'principal ()' aquí. Luego, tenemos una variable “datos” del tipo de datos “cadena” y la inicializamos con la cadena que queremos revertir.

Representamos esta cadena original antes de revertirla colocando la variable 'datos' en el 'cout'. Debajo de esto, inicializamos otra variable que es 'revStr' del mismo tipo de datos 'cadena'. Luego, utilizamos 'rbegin()' y 'rend()', que son los iteradores inversos que agregamos para invertir la cadena aquí. La cadena invertida ahora se guarda en la variable “revStr” que se coloca en “cout” para imprimir la cadena invertida aquí.

Código 5:

#incluir
usando espacio de nombres enfermedad de transmisión sexual ;
En t principal ( )
{
datos de cadena = 'C++ es el mejor lenguaje de programación' ;
    corte << datos << fin << fin ;
cadena revStr = cadena ( datos. comenzar ( ) , datos. marcas ( ) ) ;

    corte << revStr << fin ;
    devolver 0 ;
}

Producción:
La cadena que agregamos al código se representa aquí por primera vez. Luego, la cadena invertida que obtuvimos utilizando los iteradores inversos se muestra a continuación:

Conclusión

El concepto de 'inversión de cadena' en la programación C++ se analiza en este artículo donde exploramos múltiples técnicas para invertir la cadena. Exploramos todos los métodos que ayudan a invertir la cadena en C++ en detalle y revertimos la cadena en nuestros códigos C++. En este artículo, mostramos las cadenas originales e invertidas en nuestros códigos.