顺序表概念
顺序表是一种线性的逻辑结构,它把多个数据按顺序存储在连续的存储单元内。在顺序表中,所有的元素都属于一个基本类型。顺序表包含两个部分:表头和元素存储区。表头用于标记顺序表的容量和元素的个数,而元素存储区则被用于存储数据。
要理解顺序表这种数据结构,先要理解以下概念。
内存
内存被用于暂时存放CPU中的运算数据。它具有以下特点:
- 以储存空间划分
- 以二进制储存数据
数据类型
数据以不同的类型被存放在内存中,这里的类型指的是基本类型:整型、浮点型和字符。
类型决定了数据在内存中的储存方式,具体体现在以下两方面:
- 不同的数据类型占用的存储空间数不同
- 不同的数据类型会被读取的方式不同(所有数据都被以二进制的形式存放,因此必须规定类型)
元素外置的顺序表
在普通顺序表中,所有的元素都被依次存储在一块连续的存储空间内,且数据皆属于同一基本类型。
元素外置顺序表与普通顺序表不同,它的元素被分别存放在不同的区域内,具有以下特征:
- 顺序表内的存储空间储存的是元素在内存中的地址,而非元素本身
- 各个元素的存储空间并不连续
- 每个元素的地址都是随机的
- 读取数据时,需要根据存储的地址找到数据
顺序表的一体式和分离式结构
一体式结构
顾名思义,一体式结构的顺序表的表头信息和数据存储区被依次存放在连续的存储空间之内,它的表头只占两个存储空间,分布被用以标记顺序表的容量和元素个数。
分离式结构
在分离式的顺序表中,数据区和表头分别被存放在两处空间内。与一体式的顺序表不同,它的表头占三个存储空间,多出来的那个空间被用以存放数据区的地址。