C++程序 遍历数组

C++程序 遍历数组

C++是一种高效的编程语言,其灵活的数据类型和语法使其成为一种不断流行的编程语言。当涉及到数组时,C++提供了多种方法来遍历它们。在本文中,我们将讨论使用C++遍历数组的不同方法和技巧。

一维数组

一维数组是最简单的数组类型,其存储在连续的内存块中,是通过下标来访问的。下面是一个示例代码,用于打印一个包含10个元素的整数数组:

#include <iostream>
using namespace std;

int main()
{
    int arr[10] = {1,2,3,4,5,6,7,8,9,10};
    for(int i=0;i<10;i++)
        cout<<arr[i]<<" ";
    return 0;
}

输出:1 2 3 4 5 6 7 8 9 10

在上面的示例代码中,我们定义了一个包含10个整数的数组,并在for循环中遍历数组中的所有元素。使用arr[i]语法可以访问数组的每个元素。

二维数组

二维数组是一个包含多个数组的数组,它们被排列成一个矩形。在C++中,可以使用行和列的方式来访问二维数组的元素。以下是一个示例代码,用于打印4行3列的整数数组:

#include <iostream>
using namespace std;

int main()
{
    int arr[4][3] = {{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<3;j++)
            cout<<arr[i][j]<<" ";
        cout<<endl;
    }
    return 0;
}

输出:

1 2 3

4 5 6

7 8 9

10 11 12

在上面的示例代码中,我们使用两个循环来遍历二维数组中的所有元素。外部循环遍历行,内部循环遍历列。使用arr[i][j]语法来访问二维数组中的每个元素。

使用指针遍历数组

指针是一种C++数据类型,用于存储内存地址。可以使用指针来访问数组元素,如下所示:

#include <iostream>
using namespace std;

int main()
{
    int arr[5] = {1,2,3,4,5};
    int* ptr = arr;
    for(int i=0;i<5;i++)
    {
        cout<<*ptr<<" ";
        ptr++;
    }
    return 0;
}

输出:1 2 3 4 5

在上面的示例代码中,我们使用指针来访问数组元素。在这种情况下,指针指向数组的第一个元素。使用*ptr语法来访问数组元素,并使用ptr++来移动指针到下一个元素。

使用range-based for循环

C++11引入了range-based for循环,它可以简化数组遍历的代码。使用range-based for循环,可以遍历包括STL容器在内的任何容器和数组。以下是一个示例代码,使用range-based for循环遍历包含10个元素的整数数组:

#include <iostream>
using namespace std;

int main()
{
    int arr[10] = {1,2,3,4,5,6,7,8,9,10};
    for(auto& i : arr)
        cout<<i<<" ";
    return 0;
}

输出:1 2 3 4 5 6 7 8 9 10

在上面的示例代码中,使用auto&语法来自动识别数组的数据类型,并使用&引用符来访问数组元素,以确保可以修改它们。使用for循环遍历数组,实际上可以访问所有的数组元素。

使用C++ STL库

C++标准模板库(STL)是C++标准库的一部分,它提供了各种容器和算法,用于快速开发有效的C++代码。其中,STL提供了容器vector和迭代器。使用STL容器和迭代器,可以遍历数组如下所示:

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    vector<int> vec = {1,2,3,4,5,6,7,8,9,10};
    for(auto it=vec.begin();it!=vec.end();it++)
        cout<<*it<<" ";
    return 0;
}

输出:1 2 3 4 5 6 7 8 9 10

在上面的示例代码中,使用STL容器vector来存储数据,用迭代器遍历整个数组,可以快速高效地访问和修改数组元素。

结论

这篇文章介绍了使用C++遍历一维数组、二维数组、指针、range-based for循环和STL库的不同方法。这些技巧和方法可以帮助开发人员快速高效地遍历数组,使代码更具可读性和可维护性。选择哪种方法取决于开发人员的编程需求和偏好,开发人员应该选择最适合他们的方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

C++ 示例