数据结构实验报告线性表的链式表示和实现.docx

上传人:b****4 文档编号:6996412 上传时间:2023-05-10 格式:DOCX 页数:9 大小:59.24KB
下载 相关 举报
数据结构实验报告线性表的链式表示和实现.docx_第1页
第1页 / 共9页
数据结构实验报告线性表的链式表示和实现.docx_第2页
第2页 / 共9页
数据结构实验报告线性表的链式表示和实现.docx_第3页
第3页 / 共9页
数据结构实验报告线性表的链式表示和实现.docx_第4页
第4页 / 共9页
数据结构实验报告线性表的链式表示和实现.docx_第5页
第5页 / 共9页
数据结构实验报告线性表的链式表示和实现.docx_第6页
第6页 / 共9页
数据结构实验报告线性表的链式表示和实现.docx_第7页
第7页 / 共9页
数据结构实验报告线性表的链式表示和实现.docx_第8页
第8页 / 共9页
数据结构实验报告线性表的链式表示和实现.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据结构实验报告线性表的链式表示和实现.docx

《数据结构实验报告线性表的链式表示和实现.docx》由会员分享,可在线阅读,更多相关《数据结构实验报告线性表的链式表示和实现.docx(9页珍藏版)》请在冰点文库上搜索。

数据结构实验报告线性表的链式表示和实现.docx

数据结构实验报告线性表的链式表示和实现

长沙理工大学

数学与计算科学学院

实验报告

实验项目名称:

线性表的链式表示和实现

所属课程名称:

数据结构A

实验类型:

验证性

实验日期:

2012年4月5号

班级:

信管10-02班

学号:

201044070218

姓名:

张松涛

成绩:

一、实验概述:

【实验目的】

(1)、线性表的逻辑结构特征。

①、总存在第一个和最后一个元素。

②、除第一个元素以外,每一个元素总存在唯一一个直接前驱元素。

③、除最后一个元素以外,每一个元素总存在唯一一个直接后驱元素。

(2)、顺序表的特征。

①、逻辑关系上相邻的物理位置上也相邻。

②、是一种随机存储结构,可以用一个简单直观的公式来表示每一个元素的地址。

(3)学会定义线性表的链式存储类型,实现C程序的基本结构,对线性表的一些基本操作和具体的函数定义。

掌握顺序表的基本操作,实现顺序表的插入、删除、查找以及求并集等运算。

【实验原理】

//---线性表的单链表存储结构----

typedefstructLNode{

ElemTypedata;

structLNode*next;

}LNode,*LinkList;

【实验环境】

实验的环境:

VC++

二、实验内容:

【实验方案】

编写主函数,调用初始化,建立线性链表的算法以及插入和删除算法。

调试

运行输入数据得出结果并进行分析。

【实验过程】(实验步骤、记录、数据、分析)

将程序输入VC6.0中

编译之后发现错误,errorC2144:

syntaxerror:

missing';'beforetype'int'。

缺少分号

修改之后,在编译一次。

没有错误

连接没有问题

【实验结论】(结果)

【实验小结】(收获体会)

1.实验程序应该多些注释,这样方便别人读懂你的程序。

2.程序运行过程中要多添加printf语句,提示程序员属于什么数据。

3.写程序时要细心,不要漏分号。

三、指导教师评语及成绩:

评语

评语等级

及格

不及格

1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强

2.实验方案设计合理

3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)

4实验结论正确.

成绩:

指导教师签名:

批阅日期:

附录1:

源程序

#include

#include

#defineTRUE1

#defineFALSE0

#defineOK1

#defineERROR0

#defineINFEASIBLE-1

#defineOVERFLOW-2

typedefintStatus;

typedefintElemType;

typedefstructLNode{

ElemTypedata;

structLNode*next;

}LNode,*LinkList;

StatusListInsert_L(LinkList&L,inti,ElemTypee)

{LinkListp,s;

intj;

//

p=L;j=0;

while(p&&jnext;++j;}//

if(!

p||j>i-1)returnERROR;

s=(LinkList)malloc(sizeof(LNode));

s->data=e;s->next=p->next;

p->next=s;

returnOK;

}//ListInsert_L

StatusListDelete_L(LinkList&L,inti,ElemType&e)

{LinkListp,q;

intj;

p=L;j=0;

while(p->next&&jnext;++j;}

if(!

(p->next)||j>i-1)returnERROR;

q=p->next;p->next=q->next;

e=q->data;free(q);

returnOK;

}//ListDelete_L

voidCreateList_L(LinkList&L,intn)

{inti;

LinkListp;

L=(LinkList)malloc(sizeof(LNode));

L->next=NULL;

for(i=n;i>0;--i)

{p=(LinkList)malloc(sizeof(LNode));

scanf("%d",&p->data);

p->next=L->next;L->next=p;

}

}//CreateList_L

StatusGetElem_L(LinkListL,inti,ElemType&e)

{LinkListp;

intj;

p=L->next;j=1;

while(p&&j

p=p->next;++j;}

if(!

p||j>i)returnERROR;

e=p->data;

returnOK;

}//GetElem_L

voidmain()

{LinkListL,p;

inti,n;

ElemTypee;//将要用到得元素定义

printf("请输入你想创建多少个元素的链表");

scanf("%d",&n);//输入创建链表的数据个数

CreateList_L(L,n);//调用算法2.10

for(p=L->next;p!

=NULL;p=p->next)//输出自己刚才输入的数据

printf("%d",p->data);

printf("\n");

printf("请输入想查找第几个元素");

scanf("%d",&i);//查找元素的位置

GetElem_L(L,i,e);//调用算法2.8

printf("e=%d\n",e);//输出查找的元素

printf("请输入想在第几个元素位置前插入元素");

scanf("%d%d",&i,&e);//输入插入元素的位置

ListInsert_L(L,i,e);//调用算法2.9插入元素

for(p=L->next;p!

=NULL;p=p->next)

printf("%d",p->data);

printf("\n");//输出插入后的结果

printf("请输入想删除第几个元素");

scanf("%d",&i);//输入删除元素的位置

ListDelete_L(L,i,e);//调用算法2.10

for(p=L->next;p!

=NULL;p=p->next)

printf("%d",p->data);

printf("\n");//输出删除后年的结果

}

 

 

 

附录2:

实验报告填写说明

1.实验项目名称:

要求与实验教学大纲一致。

2.实验目的:

目的要明确,要抓住重点,符合实验教学大纲要求。

3.实验原理:

简要说明本实验项目所涉及的理论知识。

4.实验环境:

实验用的软、硬件环境。

5.实验方案(思路、步骤和方法等):

这是实验报告极其重要的内容。

概括整个实验过程。

对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。

对于设计性和综合性实验,在上述内容基础上还应该画出流程图

、设计思路和设计方法,再配以相应的文字说明。

对于创新性实验,还应注明其创新点、特色。

6.实验过程(实验中涉及的记录、数据、分析):

写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。

7.实验结论(结果):

根据实验过程中得到的结果,做出结论。

8.实验小结:

本次实验心得体会、思考和建议。

9.指导教师评语及成绩:

指导教师依据学生的实际报告内容,给出本次实验报告的评价。

 

.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2