基础
定义
是n(n>=0)个具有相同性质的数据元素的一个有限序列
·其中数据元素的个数n定义为表的长度。
·当n=0时称为空表
逻辑特征
在非空的线性表,有且仅有一个开始结点a1,没有直接前趋,仅有一个直接后继a2
有且仅有一个终端结点An,它么有直接后继,而仅有一个直接前趋An-1
内部节点Ai(2<=i<=n-1)都有且仅有一个直接前趋Ai-1和一个直接后继Ai+1

基本操作(一)
InitList(&L):构造一个空的线性表L
DesstroyList(&L):若线性表L已存在,销毁线性表L
ClearList(&L):若线性表L已经存在,将线性表L重置为空表
ListEmpty(L):若线性表L已经存在且为空表,则返回TRUE,否则返回FALSE
ListLength(L):若线性表L已经存在,返回表中的数据元素个数
GetElem(L, i, &e):若线性表L已经存在,1<=i<=ListLength(L),用e返回线性表中第i个数据元素的值
LocateElem(L, e, compare()):若线性表L已经存在,compare()是数据元素判定函数,返回L中第1个与e满足compare()的数据元素的位序。若数据元素不存在则返回值为0.
PriorElem(L, cur_e, &pre_e):若线性表L已经存在,cur_e是L的数据元素,且不是第一个,则用pre_e返回它的前驱,否则操作失败;pre_e无意义。
NextElem(L, cur_e, &next_e):若线性表L已经存在,cur_e是L的数据元素,且不是最后一个,则用next_e返回它的后继,否则操作失败,next_e无意义。
ListInsert(&L, i, e):线性表L已经存在,1<=i<=ListLength(L)+1,在L的第i个位置之前插入新的数据元素e,L的长度加一。
ListDelete(&L, i, &e):线性表L已经存在,1<=i<=ListLength(L),删除L的第i个数据元素,并用e返回其值,L的长度减一。
ListTraerse(&L, visited()):线性表L已经存在,依次对线性表中每个元素调用visited()
// 创建数组
SqList L;
L.data = (ElemType*)malloc(sizeof(ElemType)*MaxSize);
malloc(m)函数,开辟m字节长度的地址空间,并返回这段空间的首地址
sizeof(x)运算,计算变量x的长度
free(p)函数,释放指针p所指变量的存储空间,即彻底删除一个变量