二维数组

Login to join training plan

嘿,小朋友😃!今天咱们来认识一下二维数组。二维数组呀,就像是一个有很多小格子的大表格。

咱们先来说说什么是数组。数组呢,就好比是一排整齐摆放的盒子,每个盒子都能装东西。一维数组就是这样一排盒子,我们可以给每个盒子编上号,这样就能很方便地找到我们想要的东西啦。

那二维数组呢,就像是把好多排这样的盒子整齐地排列在一起,变成了一个大表格。这个表格有行有列,就像咱们教室的座位表一样,有第几排和第几列。

下面给你举两个生活中的例子来帮助你理解二维数组。

例子一:教室座位表

想象一下,你们教室的座位就是一个二维数组😜。每一排座位就是数组的一行,每一列座位就是数组的一列。假如咱们要找到小明同学坐在哪里,就需要知道他在第几排和第几列。在二维数组里也是一样的道理,我们要找到某个元素,就需要知道它在第几行和第几列。比如说,我们把第一排第一列的座位当作数组的第一个元素,用 [0][0] 来表示(在编程里,编号一般是从 0 开始的哦)。如果小明坐在第三排第二列,那在二维数组里就可以用 [2][1] 来找到他的位置啦(因为是从 0 开始编号,所以第三排实际是 2,第二列实际是 1)。

看,这是教室座位表的图片👇。

就像图片里这样,每一个座位都可以用行和列来确定它的位置,这和二维数组是一样的道理哦😎。

例子二:棋盘

再想象一下下棋用的棋盘,比如围棋棋盘或者象棋棋盘。棋盘也是一个二维数组。棋盘上的每一个交叉点就相当于二维数组里的一个元素。我们要知道某个棋子在棋盘上的位置,就得说清楚它在第几行和第几列。比如在围棋里,我们说“星位”,其实就是在告诉对方这个位置在棋盘的第几行和第几列。在二维数组里,我们也是通过行和列的编号来找到对应的元素。

这是生成的围棋棋盘图片👇。

围棋棋盘

你看棋盘上的交叉点,是不是就像二维数组里的一个个小格子呀😃。

在 C++ 里,我们可以这样来定义一个二维数组:

#include <iostream>
using namespace std;

int main() {
    // 定义一个 3 行 4 列的二维数组
    int arr[3][4];

    // 给数组元素赋值
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 4; j++) {
            arr[i][j] = i * 4 + j;
        }
    }

    // 输出数组元素
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 4; j++) {
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

在这个代码里,我们定义了一个 3 行 4 列的二维数组 arr。然后用两个 for 循环给数组里的每个元素赋值,最后再用两个 for 循环把数组里的元素都输出出来。

小朋友,关于二维数组的讲解就到这里啦😉!你可以点击下面的链接下载语音讲解,方便你随时回顾哦。

Section 1. 认识二维数组

Open

Problem Tried AC Difficulty
P359   【例62.1】 矩阵加法 80 35 4
P360   【例62.2】 相邻数之和 71 27 5
P361   【例62.3】 地雷数计算 50 29 3
P362   练62.1 矩形的下三角 36 28 1
P363   练62.2 矩阵乘法 21 7 7
P364   练62.3 学习效率 25 6 8
 
Enrollees
42
Created By