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 eeksEntrada: 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); }
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); }
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); }
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