一.线性表的逻辑结构
1.线性表的定义:线性表是N个具有相同数据类型的集合;通常描述为List=(e1,e2,e3......,en)(n>=0);
2.线性表中所含元素的个数N称为表长,N=0时称为空表;
3.表中相邻元素之间存在线性关系,将ei-1称为ei的直接前驱,ei+1称为ei的直接后继;
二,线性表的基本操作
1.线性表的初始化:Init_List();
2.销毁线性表:Destroy_List();
3.求线性表的长度:Length_List();
4.检索检查:Locate_List(L,x) x是给定的一个数据元素;
5.插入操作:Insert_List(L,i,x);
6.删除操作:Delete_List;
三.线性表的分类
按存储结构的不同,线性表分为两类
分别为顺序存储和链式存储;
链表有分为单链表(与单循环链表)和双向链表(与双循环链表)还有动态链表和静态链表之分;
四.顺序表与链表的比较
在顺序存储中元素与元素之间的逻辑关系是通过相邻的存储位置来表示的,因此在顺序存储的结构中只需要数据元素本身的信息而不需要存储元素与元素之间的关系,存储密 度 大;
在链式存储中元素与元素之间的逻辑关系通过在节点里增加指针域来体现,因此不仅要存储数据元素本身的信息,还要存储元素与元素之间关系信息的信息,存储密度小。