所谓索引,就是元素在数组这块内存中的顺序号,这与班级里的学号、银行的排号是一样的。
要想知道某个元素的索引,首先得知道数组元素在内存中是如何排布的。
对于一维数组,元素从前往后挨着存储即可:下标为 1 的元素放在开头,索引为 1;下标为 2 的元素紧挨着开头的元素,索引为 2;以此类推,直到存储完所有元素。
我们重点关注的是二维数组。二维数组由行和列构成,到底是一行一行地存储(按行存储),还是一列一列地存储(按列存储),不同的编程语言有不同的规定。大部分编程语言是按行存储的,比如 C/C++、Java、Python 等都是这样;但是 MATLAB 是个例外,它是按列存储的。
比如对于下面的二维数组:
A=
8 1 6
3 5 7
4 9 2
元素在 MATLAB 中的存储顺序是 8,3,4, 1,5,9, 6,7,2;也就是说,先存储第1列,再存储第2列,最后存储第3列。
下面列出了元素、索引和下标的对应关系:
元素 索引 下标
8 1 (1,1)
3 2 (2,1)
4 3 (3,1)
1 4 (1,2)
5 5 (2,2)
9 6 (3,2)
6 7 (1,3)
7 8 (2,3)
2 9 (3,3)
对于三维数组也是类似的,先列后行再页。
通过索引访问数组元素
一维数组的下标和索引相同,大家很容易理解,高维数组(三维以