• 三维数组——与 宝玉QQ群讨论交流之二


    宝玉 12:27:35

    这几天看了大部分大家交的作业,发现一个主要问题还是卡在对三维数组的理解上,之前把三维数组类比成三维空间可能会造成误导

    宝玉 12:27:45

    其实鞠老师解释的很好:
    三维数组 本质上是一个空间结构! (x,y,z)描述了空间的一个点(数据);
    a[i][j][k] 描述了存放在位置(i,j,k)的一个数据

    宝玉 12:31:25

    PS(Excel 工作薄)

    宝玉 12:32:37

    对照下Excel数据,如果是一维数组,那么这些点:
    a[0] = A1 (Excel的A列1行,以下同)
    a[1] = A2
    a[2] = A3

    a[20] = A20

    宝玉 12:33:32

    a[0] = A1=-2574
    a[1] = A2=-4010
    a[2] = A3=8243

    a[20] = A20=-1520

    宝玉 12:33:45

    那么到二维数组

    a[0][0] = A1 = -2574
    a[0][1] = B1 = 2740
    a[1][0] = A2 = -4010
    a[1][1] = B2 = -4182

    宝玉 12:40:08

    三维数组:
    a[0][0][0] = A1
    a[0][0][1] = B1
    a[0][0][2] = C1
    a[0][1][0] = A2
    a[0][1][1] = B2
    a[0][1][2] = C2

    宝玉 12:41:46

    假如我们数据不止一页

    在Excel的第二页也有同样的ABC三列数据,那么第二页的数据就可以表示为:
    a[1][0][0] = $2.A1 (Excel 第二页A列第一行)
    a[1][0][1] = B1
    a[1][0][2] = C1
    a[1][1][0] = A2
    a[1][1][1] = B2
    a[1][1][2] = C2

    宝玉 12:45:18

    现在我们只有一页数据,第一个下标都是0就好了

    再假设我们需要构造一个四位数组,我们有ABCD列数据

    a[0][0][0][0] = A1
    a[0][0][0][1] = B1
    a[0][0][0][2] = C1
    a[0][0][0][3] = D1
    a[0][0][1][0] = A2
    a[0][0][1][1] = B2
    a[0][0][1][2] = C2
    a[0][0][1][3] = D2

    宝玉 12:47:28

    我们再假设我们有两页同样格式的数据

    那么第二页就是
    a[0][1][0][0] = $2.A1
    a[0][1][0][1] = $2.B1
    a[0][1][0][2] = $2.C1
    a[0][1][0][3] = $2.D1
    a[0][1][1][0] = $2.A2
    a[0][1][1][1] = $2.B2
    a[0][1][1][2] = $2.C2
    a[0][1][1][3] = $2.D2

    宝玉 12:49:02

    然后我们还可以假设我们有第二个多页的Excel文件

    宝玉 12:49:10

    嗯,鞠老师已经讲了

    宝玉 12:49:10

    嗯,###鞠老师已经讲了

  • 相关阅读:
    Javascript学习中比较核心的知识(持续更新)
    深入理解Builder模式(转载)
    Git 对文件进行批量rm操作
    Android 记录代码执行时间
    Git已跟踪文件的忽略方法
    Linux shell command line process(命令行处理流程)
    线程 方面笔记01
    c#中索引器
    sql记录
    颜色的处理
  • 原文地址:https://www.cnblogs.com/juking/p/4832224.html
Copyright © 2020-2023  润新知