« 沪江网 | 英语网 | 日语网 | 法语网 | 购买考研复习的方方面面 沪江网店 2010考研大纲敬请期待!
用户名 密码 轻松注册,拥有更好的学习服务
沪江考研

考研专业课之统考计算机蓝宝书(4)

来源:跨考网 | 时间:2008-11-24 | 阅读:765 次 | [ ] [收藏] [划词]
[1] 第 1 页
[2] 第 2 页

1.4 线性表的链式存储和运算实现

1.4.1 单链表

链表是由一个个结点构成的,结点定义如下:

痛常我们用"头指针"来标识一个单链表,如单链表L、单链表H等,是指某链表的第一个结点的地址放在了指针变量 L、H 中, 头指针为"NULL"则表示一个空表。

订阅收藏考研专业课之统考计算机蓝宝书

1.4.2 单链表上基本运算的实现

1. 建立单链表

(1) 在链表的头部插入结点建立单链表
注意:在链表的头部插入,读入数据的顺序和线性表中的逻辑顺序是相反的。
算法如下:

在上面的算法中,第一个结点的处理和其它结点是不同的,原因是第一个结点加入时链表为空,它没有直接前驱结点,它的地址就是整个链表的指针, 需要放在链表的头指针变量中;而其它结点有直接前驱结点,其地址放入直接前驱结点的指针域。"第一个结点"的问题在很多操作中都会遇到,如在链表中插入结点时,将结点插在第一个位置和其它位置是不同的,在链表中删除结点时,删除第一个结点和其它结点的处理也是不同的,等等,为了方便操作,有时在链表的头部加入一个"头结点",头结点的类型与数据结点一致,标识链表的头指针变量L中存放该结点的地址,这样即使是空表,头指针变量L也不为空了。头结点的加入使得"第一个结点"的问题不再存在,也使得"空表"和"非空表"的处理成为一致。

头结点的加入完全是为了运算的方便,它的数据域无定义,指针域中存放的是第一个数据结点的地址,空表时为空。

考研书籍推荐>>考研资料免费下载>>考研网络课堂>>考研时事政治>>考研历年真题>>

[第1页][第2页]
重点阅读


考研指南
考研频道精选
考研论坛节目
小Q考研问答
考研电子报
考研资料下载
考研培训机构
环球时代
上海新东方
致读者
考研专业课之统考计算机蓝宝书(4)”相关信息由沪江考研提供。如果您对“考研专业课之统考计算机蓝宝书(4)”页面信息有什么疑问,请查看网页底部的联系方式在线联系我们。