全球旧事资料 分类
《数据结构B》实验报告》实验报告
系__班班姓名岳恒学号20081185028
上机题目:链式存储实验
计算机与电子专业
电子科学与技术
2008级
01
2010年10月9日
1详细设计
实验目的:理解链表的逻辑结构和存储结构,熟练掌握链表的相关操作。1、问题描述
链表是用一组任意的存储单元来依次存储线性表中的各个数据元素,这些存储单元可以是连续的,也可以是不连续的。用链接存储结构表示线性表的一个元素时至少要有两部分信息一是这个数据元素的值,二是这个数据元素的直接后继的存储地址。这两部分信息一起组成了链表的一个结点。数据域用来存放数据元素的值;指针域(又称链域)用来存放该数据元素的直接后继结点的地址。链表正是通过每个结点的指针域将线性表的
个结点按其逻辑次序链接成为一个整体。通常用箭头表示链域中的指针,于是单链表就可以直观地画成用箭头链接起来的结点序列,单链表中每个结点的存储地址存放在其直接前驱的指针域中,因此访问单链表的每一个结点必须从表头指针开始进行。对单链表的操作主要有:建立单链表、查找(按序号查找、按值查找)、插入一个结点、删除一个结点、求表长等。
2、数据结构设计单链表的结点结构如下:
typedefstruct
ode单链表结点结构ElemTypedataElemType可以是任何相应的数据类型如i
tchar等struct
ode
extLi
kList
3、功能(函数)设计
f链表的基本操作:
I
itList1Li
kListhead初始化不带头结点的链表头指针AddHead1Li
kListheadElemTypex使用表首添加法,向头指针为head的链表中插入一个结点,其值为xI
itListLi
kListhead初始化带头结点的链表头指针AddHeadLi
kListheadElemTypex使用表尾添加法,向头指针为head的链表中插入一个结点,其值为xCreatListLi
kListheadi
t
生成含有
个结点的单链表outputLi
kListhead输出单链表GetNodeLi
kListheadi
ti在带头结点的单链表中查找第i个结点,找到返回该结点指针,否则返回NULLLocateNodeLi
kListheadElemTypex在带头结点的单链表中查找值为x的结点,找到返回结点指针,否则返回NULLI
sertNodeLi
kListheadi
tiElemTypex在带头结点的单链表中第i个结点位置上插入值为x的结点DeleteNode1Li
kListheadElemTypex在带头结点的单链表中删除值为x的结点DeleteNodeLi
kListheadi
ti在带头结点的单链表中删除第i个结点Le
gthLi
kListhead在带头结点的单链表中求表的长度I
sertOrderLi
kListheadi
tx在有序单链表L中插入值为x的结点,插入后仍然有序u
io
1Li
kListheadLi
r
好听全球资料 返回顶部