(3.3)--1.3 线性表的顺序存储.ppt
《(3.3)--1.3 线性表的顺序存储.ppt》由会员分享,可在线阅读,更多相关《(3.3)--1.3 线性表的顺序存储.ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、三、线性表的顺序存储用一组地址连续的存储单元依次存放线性表中的数据元素。线性表中任意一个数据元素的存储位置都可以用线性表中第一个数据元素a1的存储地址加上偏移表示。其中:K为一个数据元素所占存储量。第1节定义的线性表抽象数据类型List,可以采用顺序存储结构实现。1/Ex1.1 线性表的顺序表示声明模块SeqList.h#ifndef _SEQLIST_H_INCLUDED_#define _SEQLIST_H_INCLUDED_typedef int DataElem;/假设元素类型为整型/线性表类型struct SeqList DataElem*pDatas;/存放元素表的缓冲区指针 in
2、t iLength;/线性表长度 int iSize;/缓冲区大小;typedef DataElem*Position;/线性表中位置类型/.在此省略线性表各基本操作的函数声明#endif/_SEQLIST_H_INCLUDED_23/1.创建空线性表/建立一个最多可存放iSize个元素的空线性表,失败时缓冲区指针为NULLstruct SeqList Create(int iSize)struct SeqList list;/申请存放线性表元素的连续内存空间 list.pDatas=(DataElem*)malloc(iSize*sizeof(DataElem);list.iLength=0
3、;list.iSize=iSize;if(list.pDatas=NULL)/申请不到空间 list.iSize=0;return list;4/2.线性表清空/元素个数置为0void Clear(struct SeqList*pSeqList)pSeqList-iLength=0;/3.销毁一个线性表,不再使用,释放缓冲区void Destroy(struct SeqList*pSeqList)free(pSeqList-pDatas);/释放缓冲区 pSeqList-pDatas=NULL;pSeqList-iSize=0;5/4.根据已有线性表,复制一个内容相同的新线性表/返回复制后新线
4、性表,失败时返回线性表的头指针为NULL struct SeqList Copy(struct SeqList srcSeqList)struct SeqList destSeqList;destSeqList=Create(srcSeqList.iSize);/创建一个具有相同大小缓冲区的空线性表 if(destSeqList.pDatas=NULL)return destSeqList;/创建失败时直接返回 int i;for(i=0;i=1&i=list.iLength)return list.pDatas+(i-1);return list.pDatas+list.iLength;/超
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 3.3-1.3 线性表的顺序存储 3.3 1.3 线性 顺序 存储
限制150内