数据结构与算法实验指导书

数据结构与算法实验指导书

ID:1556989

大小:90.00 KB

页数:14页

时间:2017-11-12

数据结构与算法实验指导书_第1页
数据结构与算法实验指导书_第2页
数据结构与算法实验指导书_第3页
数据结构与算法实验指导书_第4页
数据结构与算法实验指导书_第5页
资源描述:

《数据结构与算法实验指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构与算法实验指导书山东师范大学数学科学学院实验大纲序号实验名称内容提要每组人数实验时数实验要求实验类别备注1抽象数据类型的实现求圆的面积、周长等13必做设计 2线性表的基本操作在线性表中插入、删除、查找结点13必做设计 3栈和队列及其应用利用栈或队列解决实际问题16必做设计 4树和二叉树的建立及应用二叉树的建立、插入、删除、周游19必做设计 5查找算法的实现利用检索算法进行查找16必做设计6内排序算法的实现用某个排序算法进行排序13必做设计7图的建立及应用图的建立等13必做设计8综合实验学生管理、订票系统等13必做综合实验一

2、:抽象数据类型的实现一、实验目的:1、了解抽象数据类型的表示和实现方法2、会用C语言中已存在的数据类型来说明新的结构。3、能用已实现的操作来组合新的操作。4、熟悉C语言的程序设计二、实验内容输入圆的半径,输出圆的面积和周长。设计一个圆的抽象数据类型,并定义求圆的面积和周长的两个操作,输入数据是圆的半径r,圆的面积S=πr2,圆的周长L=2πr。圆的类型定义:structcircle{floatr;floatarea;floatcirm;}typedefstructcircle*Circle;操作:floatarea(Circlec

3、)求圆的面积floatcircmn(Circlec)求圆的周长三、实验步骤1、启动TC2、输入下面程序:structcircle{floatr;floatarea;floatperimeter;}typedefstructcircle*Circle;floatarea(Circlec){c->area=3.14*c->r*c->r;returnc->area;}floatperimeter(Circlec){c->perimeter=2*3.14*c->r;returnc->perimeter;}main(){flaotr;int

4、rprintf(“pleaseinputaradiustor”);scanf(“%f”,r);printf(“theareas=%f”,area(r));printf(“theperimeter=%f”,perimeter(r));}3、运行程序、查错。实验二线性表的基本操作一、实验目的:1、掌握线性表的两种存储结构2、掌握线性表在两种存储结构上建立、插入、删除、查找结点的基本操作3、会利用线性表解决实际问题二、实验内容设有n个人围坐在一个圆桌周围,从第s个人开始报数,数到第m个人出列,然后从出列的下一个人重新开始报数,数

5、到第m的人又出列。。。。。如此反复直到所有的人全部出列为止。三、实验步骤1、启动TC2、输入下面程序/*josephus_clist.c*//*Josephus问题:循环链接表实现*/#include#include#defineFALSE0#defineTRUE1typedefintDataType;/*定义元素类型为整型,也可定义为其他类型*/structNode;/*单链表结点类型*/typedefstructNode*PNode;/结点指针类型*/structNode/*单链表结点结构

6、*/{DataTypeinfo;PNodelink;};typedefstructNode*LinkList;typedefLinkList*PLinkList;intinit_clist(PLinkListpclist,intn)/*用1,2,……,n为*pclist所示的循环表初始化*/{PNodep,q;inti;q=(PNode)malloc(sizeof(structNode));if(q==NULL)return(FALSE);*pclist=q;q->info=1;q->link=q;if(n==1)return(T

7、RUE);for(i=2;iinfo=i;p->link=q->link;q->link=p;q=p;}return(TRUE);}voidjosephus_clist(PLinkListpclist,ints,intm){PNodep,pre;inti;p=*pclist;/*找第s个元素*/if(s==1){pre=p;p=p->link;while(p!=*pclist){pre

8、=p;p=p->link;}}elsefor(i=1;ilink;}while(p!=p->link)/*当链表中结点个数大于1时*/{for(i=1;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。