使用C++遍历数组

使用C++遍历数组

给定大小为 N 的整数数组,任务是遍历并打印数组中的元素。

示例:

输入: arr[] = {2, -1, 5, 6, 0, -3}

输出: 2 -1 5 6 0 -3

输入: arr[] = {4, 0, -2, -9, -7, 1}

输出: 4 0 -2 -9 -7 1

有三种方法在C++中遍历数组元素:

  1. 使用for循环。
  2. 使用for_each循环。
  3. 使用范围for循环。

让我们开始详细讨论每种方法。

1. 使用for Loop

以下是使用for循环遍历数组的方法。

方法:

A.0 开始循环,到 N-1 结束循环,其中 N 是数组的大小。

for(i = 0; i < N; i++)

B. 借助

arr[index]

访问数组的每个元素。 C. 打印元素。

cout << arr[i] << endl;

下面是上述方法的实现:

// 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  

时间复杂度: O(n)

辅助空间: O(1)

2. 使用for-each Loop

for_each是一个强大的STL算法,用于对范围元素进行操作并应用自定义定义的函数。它以范围的起始和最后一个迭代器对象作为前两个参数,并将函数对象作为第三个参数。
以下是实现上述方法的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 

时间复杂度: O(n)
辅助空间: O(1)

3. 使用范围for Loop

范围for循环是for循环的可读版本。以下代码展示了如何使用范围for循环实现上述代码。

// C++程序来使用范围循环遍历数组
#include <bits/stdc++.h>
#include <iostream>
using namespace std;
 
// 驱动程序
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 

时间复杂度: O(n)

辅助空间: O(1)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 示例