1 / 26
文档名称:

数据结构实验报告全集.doc

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

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

分享

预览

数据结构实验报告全集.doc

上传人:1006108867 2022/4/21 文件大小:62 KB

下载得到文件列表

数据结构实验报告全集.doc

文档介绍

文档介绍:-
. z
数据构造实验报告全集
实验一 线性表根本操作和简单程序
1. 实验目的
〔1〕掌握使用Visual C+
6〕单链表的插入操作
nodetype *ins(nodetype *h,int i,elemtype *)//在单链表head中第i个节点
//〔i>=0〕之后插入一个data域为*的节点
{
nodetype *p,*s;
s=(nodetype*)malloc(sizeof(nodetype));//创立节点s
s->data=*;s->ne*t=NULL;
if(i==0)//i=0:s作为该单链表的第一个节点
{
s->ne*t=h;h=s;
}
else
{p=find(h,i);//查找第i个节点,并由p指向该节点
if(p!=NULL)
{
s->ne*t=p->ne*t;
p->ne*t=s;
}
return h;
}
}
7〕单链表的删除操作
nodetype *del(nodetype *h,int i)//删除第i个节点
{
nodetype *p=h, *s;
int j=1;
if(i==1)//删除第1个节点
{
h=h->ne*t;free(p);
}
else
{
p=find(h,i-1);//查找第i-1个节点,并由p指向该节点
-
. z
if(p!=NULL&&p->ne*t!=NULL)
{
s=p->ne*t;//s指向要删除的节点
p->ne*t=s->ne*t;
free(s);
}
else cout<<"输入i的值不正确"<<endl;
}
return h;
}
8〕释放节点空间
void dispose(nodetype *h)//释放单链表的所有节点占用的空间
{
nodetype *pa=h,*pb;
if(pa!=NULL)
{
pb=pa->ne*t;
if(pb==NULL)//只有一个节点的情况
free(pa);
else
{
while (pb!=NULL)//有两个及以上节点的情况
{
free(pa);pa=pb;pb=pb->ne*t;
}
free(pa);
}
}
}
9)主程序模块:
#include""//包含头文件slink
void main()
{
nodetype *head;//定义节点指针变量
head=create();//创立一个单链表
disp(head);//输出单链表
cout<<"单链表长度:"<<len(head)<<endl;
ins(head, 2,0);//在第二个节点之后插入以0为元素的节点
disp(head);//输出新链表
del(head,2);//删除第二个节点
disp(head);//输出新链表
}
5.实验结果
建立一个单链表:
-
. z
输入第1结点data域值:1
输入第2结点data域值:2
输入第3结点data域值:3
输入第4结点data域值:4
输入第5结点data域值:5
输入第6结点data域值:6
输入第7结点data域值:7
输入第8结点data域值:8
输入第9结点data域值:9
输入第10结点data域值0:
输出一个单链表:
1 2 3 4 5 6 7 8 9
单链表长度:9
输出一个单链表:
1 0 2 3 4 5 6 7 8 9
输出