2013数据结构实验报告(范文).doc_第1页
2013数据结构实验报告(范文).doc_第2页
2013数据结构实验报告(范文).doc_第3页
2013数据结构实验报告(范文).doc_第4页
2013数据结构实验报告(范文).doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

报告格式说明数据结构实验, 实验成绩占该科成绩20%。 实验报告抄袭者,一经发现实验成绩为0;实验报告不交者,该科成绩为0。 参考资料:c语言、vc+、数据结构、数据结构实验教程,南北院图书馆有相关资料。 (一),实验报告包括内容如下实验名称,实验目的,实验要求,实验内容及分析,程序的调试及运行结果,程序代码 (二),汉字字体统一是宋体,黑色,页码居中如下:实验一 单链表-三号字(一级标题)一:实验目的-四号字(二级标题)1、 熟悉单链表类的抽象数据类型-小四号字(三级标题)正文: ,-五号字(正文)程序代码字体 用绿色,加粗体运行结果字体 用蓝色,加粗体页码居中(三)实验序号 实验一:线性表 实验二:栈和队列实验三:串、数组和广义表 实验四:树和二叉树 实验五:图 实验六:查找与排序注: 实验一的内容来自线性表章节,具体题目自拟,重要是完成实验目的(四)实验练习后,按实验报告统一电子版格式书写(如下),编程语言(C、vc+等)不限。 实验报告word文件名统一格式(年级 学号(后两位) 姓名 实验序号),如:201101张三民实验一.doc 数据结构实验一 顺序表的实现年级 2011信计 学号 01 姓名 张三民 分数 一、实验目的:1. 深入了解线性表的顺序存储结构的基本特征,2、掌握这种存储结构的构造算法以及基于每一种结构上的算法设计3,、初步掌握算法分析方法并对已设计出的算法进行分析,给出相应的结果。二、实验要求:解决实际问题;转换数据;编写程序上机调试;进行算法分析并写出实习报告。 三、实验内容及分析:例一:线性表的顺序存储表示及实现; 例二: 有52张牌,使他们全部正面朝上,从第二张牌开始,把凡是2的倍数位置上的牌翻成正面朝下。接着从第三张牌开始,把凡是3的倍数位置上的牌,正面朝上翻成正面朝下,正面朝下的翻成正面朝上。接着从第四张牌开始,把凡是4的倍数位置上的牌按以上相同的规律翻转。依此类推,直到第一张要翻转的牌超过了52为止。统计最后有几张牌正面朝上,以及他们的位置序号。内容分析:用长度为52的线性表来表示52张牌,每张牌的信息包含两部分:牌的位置序号和牌的正、反标识。由于线性表的长度和表内元素相对固定,因此,线性表可采用顺序存储结构。线性表元素的序号即各张牌的位置序号。其中,card表示牌的位置序号,为方便起见,令其取值为整数1至52。 flag表示牌的正、反标识,我们以1表示正面,-1表示反面。四、程序的调试及运行结果例一结果例二结果五、程序代码例一:源程序#include#include#define MAXSIZE 20typedef int ElemType;typedef struct ElemType a MAXSIZE; int length;SqList;SqList a,b,c;void creat_list(SqList*L);void out_list(SqList L);void insert_sq(SqList*L,int i,ElemType e);ElemType delete_sq(SqList*L,int i);int locat_sq(SqList L,ElemType e); /*主函数*/main()int i,k,loc;ElemType e,x;char ch; doprintf(nnn); printf(n 1.creat L); printf(n 2.zai di i ge weizi cha ru e); printf(n 3.delete i ge yuan su); printf(n 4.cha zhao zhi wei e de yuan su); printf(n 6.end); printf(n=);printf(n qing shu ru ni de xuan ze(1,2,3,4,6):);scanf(%d,&k);switch(k) case 1:creat_list(&a);out_list(a); break; case 2:printf(n i,e=?);scanf(%d,%d,&i,&e); /* insert_sq(&a,i,e); */ out_list(a); break; case3:printf(n i=?);scanf(%d,&i); x=delete_sq(&a,i);out_list(a); printf(n x=%d,x); break; case4:printf(n e=?);scanf(%d,&e); loc=locat_sq(a,e); if(loc=-1)printf(n wei zhao dao %d,loc); else printf(n yi zhao dao,yuan su wei zhi %d,loc); break; while(k!=6);printf(n zai jian);printf(n Enter ,fan hui);ch=getch(); /*建立线性表*/void creat_list(SqList *L) int i; printf(n n=?); scanf(%d,L-length); for(i=0;iai); /*输出线性表*/void out_list(SqList L) int i; char ch; printf(n); for(i=0;ilength=MAXSIZE) printf(n overflow!); else if(iL-length+1) printf(n erroe i!); else for(j=L-length-1;ji-1;j-) L-aj+1=L-aj; L-ai-1=e; L-length+; /*删除第i个元素,返回其值*/ElemType delete_sq(SqList *L,int i) ElemType x; int j; if(L-length=0) printf(n是空表。underflow !); else if(iL-length) printf(n errro i!); x=-1; else x=L-ai-1; for(j=i;j=L-length-1;j+) L-aj-1=L-aj; L-length-; return(x); /*查找值为e的元素,返回它的位置*/int locat_sq(SqList L,ElemType e)int i=0; while(i=L.length-1&L.ai!=e)i+; if(i=L.length-1) return(i+1); else return(-1);例二:源程序#include #define LEN 52 struct cardnode int card;int flag;card_listLEN;main() int count,num=2;init_card_list();docount=num; doif(card_listcount-1.flag=1) card_listcount-1.flag=-1; else card_listcount-1.flag=1; count=count+num;while(count=LEN);num+; while(num=LEN); print_card_list();init_card_list() int j; for(j=0;j=LEN-1;j+) card_listj.card=j+1; card_listj.flag=1; print_card_list() int j,total=0;printf(“zhengmianpaihaoshi:”);for(j=0;j=LEN

温馨提示

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

评论

0/150

提交评论