Iterar sobre los caracteres de una string en C++

Dada una string str de longitud N , la tarea es atravesar la string e imprimir todos los caracteres de la string dada.

Ejemplos:

Entrada: str = «GeeksforGeeks»
Salida: G eeksfor G eeks

Entrada: str = “Codificador”
Salida: C oder

Enfoque ingenuo: el enfoque más simple para resolver este problema es iterar un ciclo sobre el rango [0, N – 1] , donde N denota la longitud de la string, usando la variable i e imprimir el valor de str[i] .

A continuación se muestra la implementación del enfoque anterior:

C++

// C++ program to implement
// the above approach
  
#include <bits/stdc++.h>
using namespace std;
  
// Function to traverse the string and
// print the characters of the string
void TraverseString(string &str, int N)
{ 
    // Traverse the string
    for (int i = 0; i < N; i++) {
  
        // Print current character
        cout<< str[i]<< " ";
    }
      
}
  
// Driver Code
int main()
{
    string str = "GeeksforGeeks";
      
    // Stores length of the string
    int N = str.length();
  
    TraverseString(str, N);
}
Producción:

G e e k s f o r G e e k s

Complejidad temporal: O(N)
Espacio auxiliar: O(1)

Enfoque automático basado en palabras clave: la string se puede recorrer mediante eliterador automático .

A continuación se muestra la implementación del enfoque anterior:

C++

// C++ program to implement
// the above approach
  
#include <bits/stdc++.h>
using namespace std;
  
// Function to traverse the string and
// print the elements of the string
void TraverseString(string &str, int N)
{
    // Traverse the string
    for (auto &ch : str) {
  
        // Print current character
        cout<< ch<< " ";
    }
}
// Driver Code
int main()
{
    string str = "GeeksforGeeks";
  
    // Stores length of the string
    int N = str.length();
  
    TraverseString(str, N);
}
Producción:

G e e k s f o r G e e k s

Complejidad temporal: O(N)
Espacio auxiliar: O(1)

Enfoque basado en iterador : la string se puede atravesar usando iterador .

A continuación se muestra la implementación del enfoque anterior:

C++

// C++ program to implement
// the above approach
  
#include <bits/stdc++.h>
using namespace std;
  
// Function to traverse the string and
// print the elements of the string
void TraverseString(string &str, int N)
{
      
    // Stores address of 
    // a character of str
    string:: iterator it;
      
    // Traverse the string
    for (it = str.begin(); it != str.end();
                                   it++) {
        // Print current character
        cout<< *it<< " ";
    }
}
  
// Driver Code
int main()
{
    string str = "GeeksforGeeks";
      
      
    // Stores length of the string
    int N = str.length();
    TraverseString(str, N);
}
Producción:

G e e k s f o r G e e k s

Complejidad temporal: O(N)
Espacio auxiliar: O(1)

Publicación traducida automáticamente

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