一、什么是线性表
- 线性表是具有相同特征数据元素的一个有限序列。该序列中所含元素的个数叫作线性表的长度,用 n 表示,当 n = 0 时,表示线性表是一个空表。
- 线性表可以是有序的,也可以是无序的
- 线性表的存储结构有顺序存储结构和链式存储结构两种。前者称为顺序表,后者称为链表。
二、顺序表
顺序表就是把线性表中的所有元素按照其逻辑顺序,依次存储到从指定的存储位置开始的一块连续的存储空间中。
顺序表的特性:
- 随机访问特性:只要知道点的位置,就可以直接访问
- 占用连续的存储空间:存储分配只能预先进行,一旦分配好了,在对其操作的过程中始终不变
- 顺序表做插入操作的时候要移动多个元素
- 具有 n 个元素的顺序表,插入一个元素的平均移动个数为 (n-1)/2
- 具有 n 个元素的顺序表,查找一个元素的平均移动个数为 (n+1)/2
结构体定义:
// 结构体定义
#define maxSize 100
typedef struct
{
int data[maxSize];
int length;
}Sqlist;
顺序表初始化:
// 顺序表初始化
void initList(Sqlist &L)
{
L.length=0;
}
<