16二维数组

简介: 16二维数组

C++入门——60s从0到1

二维数组

 

当我们需要在一个二维的数据结构中存储和处理数据时,二维数组是一个非常有用的数据结构。在C++中,二维数组是一种常用的数据结构,可以用来存储和处理二维数据。

 

二维数组的定义

 

在C++中,二维数组可以通过以下方式定义:

 

dataType arrayName[rowSize][colSize];

 

其中,`dataType`是数组中元素的数据类型,`arrayName`是数组的名称,`rowSize`是二维数组的行数,`colSize`是二维数组的列数。例如,下面的代码定义了一个2行3列的整数数组:

 

int myArray[2][3];

 

初始化二维数组

 

在定义二维数组时,我们可以为数组中的每个元素赋予初值。这可以通过以下方式实现:

 

dataType arrayName[rowSize][colSize] = {

   {value11, value12, ..., value1N},

   {value21, value22, ..., value2N}

   ...

   {valueM1, valueM2, ..., valueMN}

};

 

其中,`value11`到`value1N`是第一行的元素初值,`value21`到`value2N`是第二行的元素初值,以此类推。例如,下面的代码定义了一个2行3列的整数数组,并为它们赋予了初值:

 

int myArray[2][3] = {

   {1, 2, 3},

   {4, 5, 6}

};

 

 

访问二维数组

 

可以使用下标运算符`[]`来访问二维数组中的元素。例如,可以使用以下语法来访问二维数组中的元素:

 

arrayName[rowIndex][colIndex]

 

其中,`rowIndex`和`colIndex`分别表示行和列的索引。例如,下面的代码输出了二维数组中的第一行和第三列的元素:

 

std::cout << myArray[0][0] << " " << myArray[0][2] << std::endl; // 输出第一行第三列的元素

 

 

遍历二维数组

 

可以使用嵌套循环来遍历整个二维数组并执行操作。例如,下面的代码将遍历整个二维数组并执行操作:

 

for (int i = 0; i < rowSize; i++) {

   for (int j = 0; j < colSize; j++) {

       // 对每个元素执行操作

   }

}

 

修改二维数组的操作

 

除了访问二维数组的元素外,我们还可以对二维数组进行各种操作,包括:

 

赋值:使用下标运算符为二维数组的每个元素赋值。例如,`myArray[i][j] = value;`将指定位置的元素赋值为value。

遍历:使用嵌套循环遍历整个二维数组并执行操作。例如,上面的示例代码将遍历整个二维数组并执行操作。

排序:使用排序算法对二维数组的行或列进行排序。例如,可以使用快速排序或冒泡排序等算法对二维数组的行或列进行排序。

查找:使用查找算法查找特定的元素或特定的值在二维数组中的位置。例如,可以使用线性查找或二分查找等算法来查找特定的元素或值。

修改:使用下标运算符对二维数组的每个元素进行修改。例如,`myArray[i][j]++;`将指定位置的元素加1。

 

示例代码介绍

 

下面是一个简单的示例代码,演示了如何定义、初始化、访问和修改二维数组:

 

#include <iostream>
using namespace std;
 
int main() {
    // 定义一个包含2行3列的整数数组并初始化赋值
    int myArray[2][3] = {{1, 2, 3}, {4, 5, 6}};
    // 输出二维数组的每个元素(按行列)
    for (int i = 0; i < rowSize; i++) { // 遍历行索引从0到1(即第一行和第二行)
        for (int j = 0; j < colSize; j++) { // 遍历列索引从0到2(即第一列到第三列)
            cout << myArray[i][j] << " "; // 输出当前元素的值并添加一个空格作为分隔符(仅输出行索引为0和1的元素的值)
        } // 在每行的末尾不添加换行符(仅输出到一行结束)
        cout << endl; // 在每行的末尾添加一个换行符(输出下一行的内容)
    } // 在程序结束前不需要添加换行符(仅输出最后一行之后结束程序)
    // 修改第一个元素的值并输出修改后的结果(仅输出第一行的三个元素的值)
    myArray[0][0] += 10; // 将第一个元素的值加10变为11输出结果为: 11  3  4 (第二行为原来的内容不变)   或者原来的内容为:  1  2  3  4  5 现在为:  11  3  4  5  6   或者原来的内容为:  4  5  6  7  8 现在为:  14  5  6  7  8
目录
相关文章
|
4天前
|
存储 算法 搜索推荐
15一维数组
15一维数组
21 0
|
7月前
【一维数组和二维数组】
【一维数组和二维数组】
32 0
|
4天前
|
JavaScript 前端开发 索引
如何对实现一维数组转化为二维数组
本文章实现了数组之间的转换
|
4天前
|
C语言
二维数组的知识
二维数组的知识
|
4天前
|
存储 算法 C++
C++013-C++二维数组
C++013-C++二维数组
C++013-C++二维数组
|
4天前
|
算法 C++
C++012-C++一维数组
C++012-C++一维数组
C++012-C++一维数组
|
5月前
|
存储
二维数组剖析
二维数组剖析
32 0
|
5月前
|
存储 C语言
一维数组剖析
一维数组剖析
31 0
二维数组的大小
int a[ 3 ] [ 4 ] 数组类型:int [ 3 ] [ 4 ],去掉变量名,就是变量的类型。这就是3行4列共12个int 类型元素的二维数组类型。
124 0
|
存储 PHP 开发者
二维数组| 学习笔记
快速学习二维数组。
62 0