👍数据结构——数组(c)
可以看作是线性表的推广。
文章目录
基于C语言实现数据结构中数组的相关定义与实现。
提示:以下是本篇文章正文内容,可供参考
一、数组的定义
数组:作为一种数据结构。
特点:结构中的元素本身可以是具有某种结构的数据,但属于同一数据类型。
数组中各元素具有统一的类型,并且数组元素的下标一般具有固定的上界和下界。
多维数组是一维数组的推广:
一维数组可以看作一个线性表。
二维数组可以看作“数据元素是一维数组”的一维数组。
三维数组可以看作“数据元素是二维数组”的一维数组。
以此类推
逻辑上是多维的,但存储在一维的数据结构中。(计算机的内存结构是一维的)
思考:如何将二维的,三维的数组存放在一维的数组中?
必须按某种次序将数组元素排成一列序列,然后将这个线性序列存放在存储器中。
数组一旦建立,结构中的元素个数和元素间的关系就不再发生变化。因此,一般采用顺序存储的方法来表示数组。
举个例子:
二维数组A可以看成由m个行向量组成的向量,也可以看成是n个列向量组成的向量。
1. 行优先顺序或以行为主序存储方式:将数组元素按行向量排列,第 i+1 个行向量紧接在第 i 个行向量后面。
多维时:先排最右的下标,从右到左,最后排最左下标。
举个二维的例子:
a 11 \displaystyle a_{11} a11, a 12 \displaystyle a_{12} a12, … , a 1 n \displaystyle a_{1n} a1n, a 21 \displaystyle a_{21} a21, a 22 \displaystyle a_{22} a22, … , a 2 n \displaystyle a_{2n} a2n, … … , a m 1 \displaystyle a_{m1} a