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
目录
相关文章
|
人工智能 文字识别 测试技术
AI创企深度求索推出DeepSeek-VL系列大模型
【2月更文挑战第24天】AI创企深度求索推出DeepSeek-VL系列大模型
783 2
AI创企深度求索推出DeepSeek-VL系列大模型
|
存储 缓存 安全
Docker Debian安装Docker
Docker Debian安装Docker
3555 1
|
IDE C# 开发工具
C# 语言的主要优势是什么?
C# 语言的主要优势是什么?
661 2
|
Linux 开发工具 git
CentOS安装git客户端
【8月更文挑战第22天】在 CentOS 上安装 Git 可通过两种方式:一是利用 yum 包管理器,只需在终端依次执行 `sudo yum update` 和 `sudo yum install git` 命令,安装时按提示输入 y 即可;二是从源码安装,适用于有特殊需求的场景。首先安装必要的依赖库,然后下载并解压 Git 的源码包,最后通过一系列 make 命令完成配置与编译安装。无论哪种方式,安装完毕后均可通过 `git --version` 验证安装情况。
652 6
|
移动开发 前端开发 JavaScript
原生JavaScript+canvas实现五子棋游戏_值得一看
本文介绍了如何使用原生JavaScript和HTML5的Canvas API实现五子棋游戏,包括棋盘的绘制、棋子的生成和落子、以及判断胜负的逻辑,提供了详细的代码和注释。
364 0
原生JavaScript+canvas实现五子棋游戏_值得一看
|
安全 搜索推荐 Java
|
存储 自然语言处理 NoSQL
深入解析Elasticsearch的内部数据结构和机制:行存储、列存储与倒排索引之倒排索引(三)
深入解析Elasticsearch的内部数据结构和机制:行存储、列存储与倒排索引之倒排索引(三)
|
前端开发 iOS开发
通过css内修改input框placeholder样式
通过css内修改input框placeholder样式
360 1
|
前端开发
class 选择器
class 选择器。
262 3