- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]数据链表
2.1 线性表的定义和基本操作 2.1.1 线性表的定义 线性表是由n(n≥0)个类型相同的数据元素组成的有限序列。通常表示成下列形式: L=( a1, a2,...,ai-1,ai,ai+1,...,an) 其中:L为线性表名称,习惯用大写书写; ai为组成该线性表的数据元素,习惯用小写书写; 线性表中数据元素的个数被称为线性表的长度,当n=0时,线性表为空,又称为空线性表。 举例 La=(34,89,765,12,90,-34,22) 数据元素类型为int。 Ls=(?Hello?,?World?, ?China?, ?Welcome?) 数据元素类型为string。 Lb=(book1,book2,...,book100) 数据元素类型为下列所示的结构类型: struct bookinfo{ int No; //图书编号 char *name; //图书名称 char *auther; //作者名称 ...; } 线性表的基本操作 1. 初始化线性表L InitList(L) 2. 清空线性表L ClearList(L) 3. 求线性表L的长度 ListLength(L) 4. 判断线性表L是否为空 IsEmpty(L) 5. 获取线性表L中的某个数据元素内容 GetElem(L,i,e) 6. 检索值为e的数据元素 LocateELem(L,e, equal( )) 7. 在线性表L中插入一个数据元素 ListInsert(L,i,e) 8. 删除线性表L中第i个数据元素 ListDelete(L,i,e) 2.2 线性表的顺序存储结构 2.2.1 线性表的顺序存储结构 线性表的顺序存储结构是指用一组连续的存储单元依次存储线性表中的每个数据元素。如下图2-1所示: 在访问线性表时,可以利用上述给出的数学公式,快速地计算出任何一个数据元素的存储地址。因此,我们可以粗略地认为,访问每个数据元素所花费的时间相等。这种存取元素的方法被称为随机存取法,使用这种存取方法的存储结构被称为随机存储结构。 线性表的动态存储结构 Typedef struct{ ElemType *elem; int length; Int listsize }sqlist InitList(L) // 结构初始化 L.elem=(ElemType*)malloc(listsize*sizeof(ElemType)) //分配空间 L.Length=0;//当前长度为0 L.listsize=listsize;//线性表总长度为分配空间的总长度 程序 分析结论 顺序存储结构表示的线性表,在做插入或删除操作时,平均需要移动大约一半的数据元素。当线性表的数据元素量较大,并且经常要对其做插入或删除操作时,这一点需要值得考虑。 线性表顺序存储结构的特点 它是一种简单、方便的存储方式。它要求线性表的数据元素依次存放在连续的存储单元中,从而利用数据元素的存储顺序表示相应的逻辑顺序,这种存储方式属于静态存储形式。 暴露的问题 l 在做插入或删除元素的操作时,会产生大量的数据元素移动; l 对于长度变化较大的线性表,要一次性地分配足够的存储空间,但这些空间常常又得不到充分的利用; l 线性表的容量难以扩充。 术语 表示每个数据元素的两部分信息组合在一起被称为结点; 其中表示数据元素内容的部分被称为数据域(data); 表示直接后继元素存储地址的部分被称为指针或指针域(next)。 单链表简化的图2-3描述形式 其中,head是头指针,它指向单链表中的第一个结点,这是单链表操作的入口点。由于最后一个结点没有直接后继结点,所以,它的指针域放入一个特殊的值NULL。NULL值在图示中常用(^
您可能关注的文档
最近下载
- 新12J05-1公用卫生间盥洗室及洗池.docx VIP
- 港台电影赏析 智慧树 知到答案.docx VIP
- JTGT B06-02-2007 公路工程预算定额-行业标准.pdf
- GB 16899-2011 自动扶梯和自动人行道的制造与安装安全规范.docx VIP
- 年产3000吨胶原蛋白肽产能置换项目环境影响报告表.pdf VIP
- 1995年(2005年版)高层民用建筑设计防火规范.pdf VIP
- 位置变化快慢与方向——速度 高一上学期物理教科版(2019)必修第一册.pptx VIP
- 水表检定中心员工应知应会知识培训试题.doc
- BP8523D_EN_DS_Rev.1.0 英文规格书 晶丰明源家电电源.pdf VIP
- 2025中国东方资产管理股份有限公司信息科技部总经理等笔试高频考点题库试题解析 .pdf
文档评论(0)