1 / 7
文档名称:

数据结构实验报告.doc

格式:doc   大小:91KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验报告.doc

上传人:dreamzhangning 2018/10/21 文件大小:91 KB

下载得到文件列表

数据结构实验报告.doc

相关文档

文档介绍

文档介绍:南京信息工程大学滨江学院实验(实****报告
实验名称数据结构线性表实验日期 得分指导老师宣文霞
系理学系专业信息与计算科学班级 1 姓名吴春娇学号 20112314029
1、需求分析
陈述程序设计的任务,强调程序要解决的问题是什么?
答:解决链表的输出、输入,链表的长度,判断链表是否为空,在链表中输出某个元素,插入元素,删除元素,释放元素的问题。
明确规定:输入的形式和输入值的范围;输出的形式;程序所能达到的功能;测试数据。
答:(1)输入链表结点个数;(2)输入结点的值;
输出的刑事:(1)输出单链表h;(2)单链表h的长度;(3)单链表h为“空”、“非空”;(4)单链表h的第3个元素;(5)元素a的位置;(6)输出删除h的第3个元素,单链表测试数据;结点数:4;结点值:abcd。
设计
设计思路:写出存储结构,主要算法的基本思想。
设计表示:每个操作及模块的伪码算法,列出每个过程或函数所调用的过程或函数,也可以表示通过调用关系(层次)图表达。
实现注释:各项功能的实现程度、在完成基本要求的基础上还实现了什么功能。
答:存储结构:单链表采用一个结点,存放一个数据元素,每个结点除了包括存放数据元素值的数据域(data)外,还包括指向下一个元素的存储位置的指针域(data),最后一个结点的指针域为空。
主要算法的基本思想:
(1)判断单链表是否为空,空表返回1,否则返回0
int ListEmpty(LinkList L)
{
return(L->next==NULL);
}
(2)单链表的长度
Int ListLength(LinkList L)
{
LinkList p=L;
int i=0;
while(p->next!=NULL)
{
i++;
p=p->next;
}
return(i);
}
(3)获取单链表L中第i元素,由参数e返回
int GetElem(LinkListL,int i,ElemType &e)
{
int j=0;
LinkList p=L;
while(j<i && p!=NULL)
{
j++;
p=p->next;
}
if(p==NULL)
return 0;
else
{
e=p->data;
return 1;
}
}
在单链表L中查找数据元素e的位置,如不存在返回0
int LocateElem(LinkList L,ElemType e)
{
LinkList p=L->next;
int n=1;
while(p!=NULL&&p->data!=e)
{
p=p->next;
n++;
}
if(p==NULL)return(0);
else return(n);
}
(5)在单链表L中第i个位置上插入元素e
int ListInsert(LinkList &L,int i,ElemType e)
{
int j=0;
LinkList p=L,s;
while(j<i-1 && p!=NULL)//查找第i-1个结点的位置p
{
j++;
p=p->next;
}
if(p==NUL