内容正文:
信息技术
选择性必修1
2021
2021
2021
2021
2021
2021
2021
2021
2021
2021
2021
2
第二章
数组与链表
计算机中数据的存储模式分为顺序存储和非顺序存储,所有数据结构的存储也可以分为这两类,而作为常用数据结构中的数组与链表,就是这两种存储模式的典型代表,其他的数据结构都是在这两种数据结构的基础上构建的。
选择性必修1
2021
2021
2021
2021
2021
2021
2021
2021
2021
2021
2021
顺序存储结构和非顺序存储结构
计算机中数据的存储结构主要分为顺序存储结构和非顺序存储结构。其中顺序存储结构是将逻辑上相邻的数据节点存储在物理位置相邻的存储单元中,典型代表为数组;而非顺序存储结构的形式就是链式存储结构,在链式存储结构中可以将逻辑上相邻的数据节点在内存中分开存储,节点之间的前后关系由每个节点中的指针确定,典型代表为链表。
选择性必修1
2021
2021
2021
2021
2021
2021
2021
2021
2021
2021
2021
第二章 数组与链表
数组与链表
数组
链表
链表的概念
链表的特性
链表的基本操作
数组的概念
数组的特性
数组的基本操作
内容总览
第 ‹#› 页
数组是由相同类型的变量构成的一个序列。
由数组名和下标组成数组的各个变量称为数组的分量,也称为下标变量或数组元素。
b[0] b[1] b[2] b[3] b[4]
20 15 14 10 4
b [3]
数组分量/下标变量/数组元素
b
[3]
数组名
下标
每个数组元素的类型相同,所需的存储空间一致,因此在明确第一个数组元素的存储位置后,可以利用下标计算出其他数组元素的存储位置,从而达到快速访问的目的。
2.1 数组
第 ‹#› 页
一维数组:只有一个下标的数组称为一维数组,一维数组适合用来表示具有一维空间的线性特征的数据序列。
数组元素:d[0],d[1],d[2],d[3],d[4]….
第 ‹#› 页
二维数组(形象、方便):
二维空间内既有纵向联系又有横向联系的一批数据。
由于二维数组中的数据元素有行、列两个维度位置信息,因此需要两个下标。
数组下标表示方法
不同程序语言中的数组,特别是多维数组的下标表示各有不同。有的语言中使用多个方括号分别表示其中一个下标,如: a[1][3],典型代表有C、C++、Python等;有的语言中则是使用一个方括号包含所有下标,每个下标之间用逗号隔开,如: a[1,3],典型代表有Pascal;有的则使用一个圆括号包含所有下标,每个下标之间用逗号隔开,如: a(1,3),典型代表有VB。
第 ‹#› 页
0 1 0 0
1 2 2 0
0 2 0 1
0 2 0 0
数组名:qp 列位置下标:
0 1 2 3
行位置下标:0
1
2
3
数组元素:qp[0][0], qp[0][1],……, qp[3][3],
行、列下标均从0开始
0:无子
1:黑子
2:白子
qp[0][0]=0
qp[0][1]=1
qp[0][2]=0
qp[0][3]=0
第 ‹#› 页
存储方式可分为:行优先和列优先两种。
二维数组:顺序存储
数组名qp
下标
[0][0]
[0][1]
[0][2]
[0][3]
[1][0]
[1][1]
[1][2]
……
0
1
0
0
1
2
2
…
数组名:qp 列位置下标:
0 1 2 3
行位置下标:0
1
2
3
数组元素:qp[0][0], qp[0][1],……, qp[3][3],
0 1 0 0
1 2 2 0
0 2 0 1
0 2 0 0
数组快速访问:先指向第一个第一行数组元素存储的位置,其他元素根据下标快速得到存储位置。
第 ‹#› 页
2.数组的特性
(1)数组元素(下标变量)的数据类型相同
(2)通过下标变量对数组元素的值进行访问
(3)存储空间固定不变
除非特殊说明,数组指向的往往是静态数组
开辟一批地址连续,且空间固定的存储空间。
快速访问一维数组a[9]:第10个元素的位置
静态数组特点:
规模可预估,处理过程稳定
动态数组
没有确定数据规模的数组,可以在任何时候改变数据规模。可在运行时具体改变数组大小的,从而引入动态数组。
第 ‹#› 页
2.1.2 数组基本操作
列表包含类型可不同。《必修1 》P72
列表=数组(列表中每个数据元素所含数据项的数量和数据类型都相同