双向链表的算法设计与实现实验报告.doc_第1页
双向链表的算法设计与实现实验报告.doc_第2页
双向链表的算法设计与实现实验报告.doc_第3页
双向链表的算法设计与实现实验报告.doc_第4页
双向链表的算法设计与实现实验报告.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数学与计算科学学院实 验 报 告实验项目名称 双向链表的算法设计与实现 所属课程名称 _数据结构A 实 验 类 型 设计型 实 验 日 期 _ 班 级 信计1402 学 号 201453100214 姓 名 俞凯烨 成 绩 一、实验概述:【实验目的】掌握双向链表的存储结构以及基本操作的设计和实现。【实验原理】双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。【实验环境】二、实验内容:【实验方案】首先利用尾插法建立一个双向链表,然后,分别编写功能为实现入队操作和出队操作的子函数,最后编写main函数,并调用以上两个子函数【实验过程】(实验步骤、记录、数据、分析)1.打开Visual C+,新建一个源程序zw.cpp2.调用初始化建立双向链表算法,查找算法,插入算法和删除算法3.设计建立结果输出程序4.操作修改源程序中的错误5.出现11个错误,将nert改为next,还有变量未定义,定义变量后组建调试后没有错误6.编辑main函数7.继续修改错误,直到错误为08.打开程序运行窗口,输入输出结果9.输入5再输入33 34 35 36 37输出结果【实验结论】(结果)【实验小结】(收获体会)学会了如何找到并修改程序中的错误三、指导教师评语及成绩:评 语评语等级优良中及格不及格1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强2.实验方案设计合理3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)4实验结论正确. 成 绩: 指导教师签名: 批阅日期:附录1:源 程 序#include#include#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;typedef int ElemType;typedef struct DuLNodeElemType data;struct DuLNode *prior;struct DuLNode *next;DuLNode, *DuLinkList;void Createlist_DuL(DuLinkList &L,int n)int i;DuLinkList p;L=(DuLinkList)malloc(sizeof(DuLNode);L-next=L-prior=L;for(i=n;i0;-i)p=(DuLinkList)malloc(sizeof(DuLNode);scanf(%d,&p-data);p-prior=L;p-next=L-next;L-next-prior=p;L-next=p;DuLinkList GetElemP_DuL(DuLinkList L,int i)int j;DuLinkList p;p=L-next;j=1;while(p&jnext;+j;if(!p|ji)return NULL;return p;Status ListInsert_DuL(DuLinkList &L,int i,ElemType e)DuLinkList p,s;if(!(p=GetElemP_DuL(L,i)return ERROR;if(!(s=(DuLinkList)malloc(sizeof(DuLNode)return ERROR;s-data=e;s-prior=p-prior;p-prior-next=s;s-next=p; p-prior=s;return OK;Status ListDelete_DuL(DuLinkList &L,int i,ElemType &e)DuLinkList p;if(!(p=GetElemP_DuL(L,i)return ERROR;e=p-data;p-prior-next=p-next;p-next-prior=p-prior;free(p); return OK;void main()DuLinkList p,L;int i,n;ElemType e; scanf(%d,&n);Createlist_DuL(L,n);for(p=L-next;p!=L;p=p-next)printf(%d ,p-data);printf(n);scanf(%d,&i);p=GetElemP_DuL(L,i);printf(e=%dn,p-data);scanf(%d%d,&i,&e);ListInsert_DuL(L,i,e); for(p=L-next;p!=L;p=p-next)printf(%d ,p-data);printf(n);scanf(%d,&i);ListDelete_DuL(L,i,e); for(p=L-next;p!=L;p=p-next)printf(%d ,p-data);printf(n);附录2:实验报告填写说明 1实验项目名称:要求与实验教学大纲一致。2实验目的:目的要明确,要抓住重点,符合实验教学大纲要求。3实验原理:简要说明本实验项目所涉及的理论知识。4实验环境:实验用的软、硬件环境。5实验方案(思路、步骤和方法等):这是实验报告极其重要的内容。概括整个实验过程。对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明。对于创新性实验,还应注明其创新点、特色。6实验过程(实验中涉及的记录、数据、分析):写明具体

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论