第二课

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;