Dada una array de enteros de tamaño N , la tarea es recorrer e imprimir los elementos de la array.
Ejemplos:
Entrada: arr[] = {2, -1, 5, 6, 0, -3}
Salida: 2 -1 5 6 0 -3Entrada: arr[] = {4, 0, -2, -9, -7, 1}
Salida: 4 0 -2 -9 -7 1
Hay tres formas de recorrer los elementos de una array en C++:
- Uso de bucle for.
- Usando el bucle for_each.
- usando un bucle for basado en rango.
Comencemos discutiendo cada uno de estos métodos en detalle.
1. Uso del bucle for
A continuación se muestra el enfoque para atravesar una array utilizando el ciclo for.
Acercarse:
A. Inicie un ciclo de 0 a N-1 , donde N es el tamaño de la array.
para(i = 0; i < N; i++)
B. Acceda a cada elemento de la array con la ayuda de
arr[índice]
C. Imprimir los elementos.
cout << arr[i] << endl;
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to traverse // the array #include <bits/stdc++.h> using namespace std; // Function to traverse and // print the array void printArray(int* arr, int n) { int i; cout << "Array: "; for (i = 0; i < n; i++) { cout << arr[i] << " "; } } // Driver code int main() { int arr[] = {2, -1, 5, 6, 0, -3}; int n = sizeof(arr) / sizeof(arr[0]); printArray(arr, n); return 0; }
Array: 2 -1 5 6 0 -3
Complejidad de tiempo: O(n)
Espacio Auxiliar: O(1)
2. Usar un ciclo for-each
for_each es un poderoso algoritmo STL para operar en elementos de rango y aplicar funciones personalizadas. Toma el inicio del rango y los objetos del último iterador como los dos primeros parámetros y el objeto de función como el tercero.
A continuación se muestra el programa C++ para implementar el enfoque anterior:
C++
// C++ program to traverse the // array using for_each loop #include <bits/stdc++.h> #include <iostream> using namespace std; // Driver code int main() { int arr[] = {2, -1, 5, 6, 0, -3}; // Traverse array with for_each // using array's data type cout << "Traverse using array's data type"; for(int x : arr) cout << x << " "; cout << endl; // Traverse array with for_each // using auto keyword cout << "Traverse using auto keyword"; for(auto x : arr) cout << x << " "; return 0; }
Traverse using array's data type2 -1 5 6 0 -3 Traverse using auto keyword2 -1 5 6 0 -3
Complejidad temporal: O(n)
Espacio auxiliar: O(1)
3. Usar bucle basado en rango
El bucle basado en rango es la versión legible del bucle for. El siguiente código muestra cómo implementar el código anterior mediante un bucle basado en rango.
C++
// C++ program to traverse the // array using range-based loop #include <bits/stdc++.h> #include <iostream> using namespace std; // Driver code int main() { int arr[] = {2, -1, 5, 6, 0, -3}; for (const auto &var : arr) { cout << var << " " ; } return 0; }
2 -1 5 6 0 -3
Complejidad temporal: O(n)
Espacio auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por akgupta555 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA