线性表顺序存储知识点总结 |
您所在的位置:网站首页 › 线性表的特点是每个元素都有一个前驱和一个后驱 › 线性表顺序存储知识点总结 |
线性表特点:除第一个元素无直接前驱,最后一个元素无直接后继之外,其他每个数据元素都有一个前驱和一个后继。 同一线性表中元素必定具有相同特性 2.1 线性表的顺序表示与实现 2.1.1线性表的顺序表示线性表的顺序表示是用一组地址连续的存储单元依次存储线性表的数据元素。 特点:逻辑上相邻,物理上也相邻 假设线性表中每个元素需要占用L个存储单元,并以所占第一个单元的存储地址作为数据的存储起始位置,则线性表i+1个数据元素的存储位置Loc(ai+1)和第i个数据的存储位置Loc(ai)之间满足以下关系: Loc(ai+1)=Loc(ai)+L Loc(ai)=Loc(a1)+(i-1)*L //------顺序表的存储结构-------- #define MAXSIZE 100 //顺序表可能达到的最大长度 typedef struct { ElemType *elem; //存储空间基地址 int Length; //当前长度 }SqList; //顺序表的结构类型为SqList 2.1.2顺序表中基本操作实现1.初始化 顺序表的初始化就是构造一个空的顺序表 【算法步骤】 1.为顺序表动态分配一个预定义大小的数组空间,使elem指向这段空间的基地址 2.将表的当前长度设为0 Status InitList(SqList &L) { L.elem=new ElemType[MAXSIZE]; if(!L.elem) exit (OVERFLOW); L.Length=0; return OK; }2.取值 取值是根据指定位置序号i,获取顺序表中第i个数据元素的值 由于顺序存储结构具有随机存取的特点,可以直接通过数组下标定位得到,elem[i-1]单元存储第i个数据元素 【算法步骤】 1.判断指定的位置序号是否合理,(i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |