- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2011数据结构之线性表
线性表 濮阳市第一高级中学 王晓斌 如图2.3是线性表 (a1,a2,a3,a4,a5,a6,a7,a8) 对应的链式存储结构示意图。 当然必须将第一个结点的地址160 放到一个指针变量如 H 中,最后一个结点没有后继, 其指针域必需置空,表明到此结束,这样就可以从第一个结点的地址开始“顺藤摸瓜”,找到每个结点。 作为线性表的一种存储结构,我们关心的是结点间的逻辑结构,而对每个结点的实际地址并不关心,所以通常的单链表用图2.4的形式而不用图2.3的形式表示。 通常我们用“头指针”来标识一个单链表,如单链表L、单链表H等,是指某链表的第一个结点的地址放在了指针变量 L、H 中, 头指针为“NIL”则表示一个空表。 110 a5 200 … … 150 a2 190 160 a1 150 … … 190 a3 210 200 a6 260 210 a4 110 … …. 240 a8 Nil … ... 260 a7 240 单链表的建立与遍历 单链表的特点: (1) 在单链表上插入、删除一个结点,必须知道其前驱结点。 (2) 单链表不具有按序号随机访问的特点,只能从头指针开始一个个顺序进行。 下面通过具体的例子来看单链表的建立与遍历。 例4 在线性表头位置插入新元素 键入简化的学生记录(如只有学生的学号),把它们组成线性链表,并输出各记录信息。要求每一新元素都插入到已生成链表的表头位置。 [算法分析]: 可以分两部分来实现。第一部分是依次键入学号,创建新的表元素,并插入到表头位置。当遇到输入结束标志后,即已生成了所要的线性链表。第二部分是由表头开始,“顺藤摸瓜”遍历所有表元素并输出学号,直到表尾。要设置两个指针变量,其一总是指向表头位置,其二指向新的表元素,兼作遍历表时的工作量。不妨设在程序运行中先后键入4名学生的学号2,5,4,1,以键入32767(最大的整数)作为结束标志。 program exampel2_4; {linked list generation—to the head of the list} type natural=1..Maxint; pointer =^Item; Item=record number : natural; next : pointer; end; var head, temp: pointer; n: natural; begin writeln(‘Enter students’’ numbers. 32767 to stop:’); head:= nil; read(n); while nMaxint do begin new(temp); with temp^ do begin number:=n; next:=head; end; {上一行的with……end部分等同于Temp ^. number:=n; Temp ^.next:=head;} head:=temp; read(n); end; writeln(‘The output:’); temp:=head; while tempnil do begin write(temp^. number:8); temp:=temp ^.next; end; end. [回顾与思考]: 学习线性链表操作的一个有效方法是画出链表以及指针变量的变化情况。因为指针变量所维护的是地址,表元素之间的链接也靠的是地址,所以地址一乱就整个乱了套。本程序运行后所生成的线性链表及指针变量位置如图2-6: 从输出结果来看,是以反序输出学号,即体现了“先进后出”的规律。 如果每次新的表元素插入到表尾,则输出时体现“先进先出”的规律。 例5 编写插入表尾的链表生成及遍历程序。 [算法分析]:同样以最简化的学生信息(只有学号)为例来说明在原线性链表的表尾插入新的元素。为了提高执行速度,除了用表头指针变量外还增加一个总指向表尾的指针变量。这样一个指向表头一个提向表尾,操作起来就比较方便了。另外还要对表为空及非空情形进行判断并作相应处理。 program exampl2_5;{linked list generation-to the tail of the list} type natural=1..MaxInt; pointer=^item; item=record number: natural; next : pointer; end; var head, temp, Tail: pointer; n: natural; begin writeln(Enter students numb
您可能关注的文档
- 2011年高考数学一轮精品复习课件第7章《立体几何》空间直角坐标系.ppt
- 2011年高考物理第二轮总复习课件 第三章 牛顿运动定律 第3课时牛顿运动定律在连接体问题中的应用.ppt
- 材料力学实验12.ppt
- 2011年高考生物第一轮复习课件14植物的激素调节.ppt
- 2011年高考生物(浙科版)第一轮复习精品课件第11单元种群群落.ppt
- 2011年高考英语一轮复习系列课件专题02动词的时态及语态.ppt
- 2011年高考英语一轮复习系列课件专题10省略句.ppt
- 2011年高考英语一轮复习系列课件专题05主谓一致.ppt
- 2011年高考英语一轮复习系列课件专题13虚拟语气.ppt
- 2011年高考英语一轮复习系列课件专题14it的用法.ppt
最近下载
- 2023-2024学年浙江省浙南名校联盟高一上学期期中联考英语试题.pdf VIP
- 职业生涯规划书-赵胜绪.pdf VIP
- 《改变世界的四大发明》教案.docx VIP
- 水文地质学基础 项目2 包气带地下水 项目2 包气带地下水.pptx VIP
- 采购需求管理办法.pdf VIP
- PLC应用技术(西门子S7-1200)全套PPT课件.pptx
- T_SZMS 0011-2025 实时数字示波器校准规范.pdf VIP
- 广东省公路工程工程量清单编制办法.pdf VIP
- 【课件】GB35181-2025重大火灾隐患判定规则解读.pptx
- HG∕T 5955-2021 石油化工废催化剂 钼测定方法.pdf
有哪些信誉好的足球投注网站
文档评论(0)