下载此文档

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


文档分类:高等教育 | 页数:约26页 举报非法文档有奖
1/26
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/26 下载此文档
文档列表 文档介绍
-
. 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
输出

数据结构实验报告全集 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数26
  • 收藏数0 收藏
  • 顶次数0
  • 上传人1006108867
  • 文件大小62 KB
  • 时间2022-04-21