一、线性表
线性表是n个具有相同特性的数据元素的有限序列,常见的线性表:顺序表、链表、栈、队列、字符串等。
线性表在逻辑上是线性结构,也就是一条连续的直线,但是在物理结构上并不一定是连续的,线性表在物理存储一般以数组和链式结构存储。
二、顺序表
顺序表就是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下是采用数组存储的,在数组上完成数据的增删查改。
以下为用纯C实现顺序表:
typedef int SLDataType;
typedef struct SeqList
{
SLDataType* a;
int size; //表示数组中存储了多少数据
int capacity; //数组中实际能存储的空间容量
}SeqList;
初始化与释放:
void SeqListInit(SeqList* ps)
{
ps->a = NULL;
ps->size = ps->capacity = 0;
}
void SeqListDestroy(SeqList* ps)
{
free(ps->a);
ps->a = NULL;
ps-&g