第6章数组和广义表6.1数组6.2稀疏矩阵6.3 广义表本章小结
第6章 数组和广义表 6.1 数组 6.2 稀疏矩阵 本章小结 6.3 广义表 1
6.1.1数组的基本概念从逻辑结构上看,数组A是n(n>1)个相同类型数据元素ai、2、…、a,构成的有限序列,其逻辑表示为:A=(ai, a. ..., an)其中,a;(1≤in)表示数组A的第i个元素
6.1.1 数组的基本概念 从逻辑结构上看,数组A是n(n>1)个相同类型数据 元素a1、a2、.、an构成的有限序列,其逻辑表示为: A=(a1,a2,.,an) 其中,ai(1≤i≤n)表示数组A的第i个元素。 2
一个二维数组可以看作是每个数据元素都是相同类型的一维数组的一维数组。以此类推,任何多维数组都可以看作一个线性表,这时线性表中的每个数据元素也是一个线性表。多维数组是线性表的推广。推广到d(d≥3)维数组,不妨把它看作一个由d-1维数组作为数据元素的线性表;或者这样理解,它是一种较复杂的线性表结构,由简单的数据结构即线性表一一辗转合成而得
一个二维数组可以看作是每个数据元素都是相同类型 的一维数组的一维数组。以此类推,任何多维数组都可以 看作一个线性表,这时线性表中的每个数据元素也是一个 线性表。 多维数组是线性表的推广。 推广到d(d≥3)维数组,不妨把它看作一个由d-1维 数组作为数据元素的线性表;或者这样理解,它是一种较 复杂的线性表结构,由简单的数据结构即线性表——辗转 合成而得。 3
数组的基本运算如下:Value(A,index,,index2....,index):A是已存在的d维数组,index,是指定的d个下标值,且这些index, , index2 , ..下标均未越界。其运算结果是返回由上述下标指定的A中的对应元素的值。Assign(A,e,index,index2,...,index):A是已存在的d维数组e为元素变量,index,index2,,index,是指定的d个下标值,且这些下标均未越界。其运算结果是将e的值赋给由上述下标指定的A中的对应元素ADisp(A,b1,b2,,bd):输出d维数组A的所有元素值
Value(A,index1 ,index2 ,.,indexd ):A是已存在的d维数组, index1,index2,.,indexd是指定的d个下标值,且这些 下标均未越界。其运算结果是返回由上述下标指定的A中 的对应元素的值。 Assign(A,e,index1 ,index2 ,.,indexd ):A是已存在的d维数组, e为元素变量,index1,index2,.,indexd 是指定的d个下 标值,且这些下标均未越界。其运算结果是将e的值赋给 由上述下标指定的A中的对应元素。 ADisp(A,b1,b2,.,bd):输出d维数组A的所有元素值。 . 数组的基本运算如下: 4
6.1.2数组的存储结构从存储结构上看,数组的所有元素存储在一块地址连续的内存单元中。几乎所有的计算机语言都支持数组类型,以C/C++语言为例,其中数组数据类型具有以下性质:(1) 数组中的数据元素数目固定。一旦定义了一个数组其数据元素数目不再有增减变化(2)数组中的数据元素具有相同的数据类型(3)数组中的每个数据元素都和一组唯一的下标值对应。(4) 数组是一种随机存储结构。可随机存取数组中的任意数据元素。5
从存储结构上看,数组的所有元素存储在一块地址连续 的内存单元中。几乎所有的计算机语言都支持数组类型,以 C/C++语言为例,其中数组数据类型具有以下性质: (1)数组中的数据元素数目固定。一旦定义了一个数组, 其数据元素数目不再有增减变化。 (2)数组中的数据元素具有相同的数据类型。 (3)数组中的每个数据元素都和一组唯一的下标值对应。 (4)数组是一种随机存储结构。可随机存取数组中的任 意数据元素。 6.1.2 数组的存储结构 5