资源描述:
《《数据结构教学资料》数据结构实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、本科实验报告课程名称:数据结构实验项目:线性结构、树形结构、图结构、查找、排序实验地点:明向校区行远楼A102专业班级:软件1335学号:2013006023学生姓名:郝放指导教师:杨崇艳2014年12月16日实验一线性表一.目的与要求本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,提高分析和解决问题的能力。要求仔细阅读并理解下列例题,上机通过,并观察其结果,然后独立完成后面的实习题。二.实验题目[问题描述]设顺序表A中的数据元素递增有序,试写一程序,将x插入到顺序表的适当位置上,使该表仍然有序。[程序]
2、#include#definelistsize10typedefintDatatype;typedefstruct{Datatypedata[10];intlength;JSqlist;intlength(SqlistL){returnL.length;}intlocate(Sqlist*L,Datatypex){inti;i=0;while(i<(*L).length&&(*L).data[i]3、nti,Datatypex){intj;if(i4、
5、i>(*L).length)printf(“出错“);if((*L).length>listsize)printf("tl!错”);for(j=(*L).length;j>=i;j--){(*L).data[j]=(*L).data[j-1];}(*L).data[i]=x;(*L).length++;}voiddatasort(intintbegin,intend){inti,j;inttemp;for(i=begin;i<=end;i++){for(j=i;j<=end;j++){if(a
6、[i]>=a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}intmain(){inti,x,a[10];SqlistL;L.length=0;printfC*请输入一列个数为10的非递增数列用逗号隔开“);scanf(”%d,%d,%d,%d,%d,%d,%d,%d,%d,%dj&a[0],&a[l],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7],&a⑻,&a[9]);for(i=0;i7、ntf("个数为10的非递增数列A如下:”);printf(”%d,%d,%d,%d,%d,%d,%d,%d,%d,%d”,a[0],a[l],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);datasort(L.dataJ0,10);printf(H顺序列表A如下:n);for(i=0;i8、插入x后顺序列表A如下:");for(i=0;i9、遍历方式,掌握有关算法的实现,了解树在计算机科学及其它工程技术中的应用。二.实验题目[问题描述]编写递归算法,计算二叉树中叶子结点的数目。[程序]#include{if(t){run(t->llink);#includerun(t->rlink);structnode{charinfo;if(t->llink==NULL&&t・>rlink=NULL)structnode*llink,*rlink;cout++;};}typedefstructnodeNODE;returncout;NODE*creat()){
10、charx;)NODE*p;main(){intcout;scanf(”%c",&x);NODE*T;printf(n%c