第二课
1,线性结构
1.1线性结构的特点
前提:在数据元素的非空有限集合中
·存在唯一的一个被称为“第一个”的数据元素;
·存在唯一的一个被称为“最后一个”的数据元素;
·除了第一个之外,集合中每个数据元素均只有一个前驱;
·除了最后一个之外,集合中每个数据元素均只有一个后继;
1.2线性结构功能
线性是一个灵活的数据结构,它的长度可以根据需要增长或缩短,即对线性表的数据元素不仅可以进行访问,还可以进行插入和删除;
2,顺序表
2.1定义
顺序表是指用一组地址连续的内存单元依次存储线性表的数据元素;
2.2描述
通常都用数组来描述数据结构中的顺序存储结构 。由于线性表的长度可变,且所需最大储存空间随问题不同而不同,则在C语言中可用动态内存分配一维数组;
例子:
#define SEQLIST_INIT_SIZE 8 //顺序表存储空间的初始分配量
#define INCREASE_SIZE 4 //每次扩容大小
typedef int Data;//抽象数据类型
typedef struct
{
Data* buse; //存储内存首地址
int capacity;//最大容量
int size;//当前长;
}SeqList;