下载此文档

哈尔滨师范大学计算机科学与信息工程学院实验报告手册.doc


文档分类:论文 | 页数:约34页 举报非法文档有奖
1/34
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/34 下载此文档
文档列表 文档介绍
哈尔滨师范大学计算机科学与信息工程学院实验报告手册课程名称:数据结构指导教师:专业:物联网工程专业2017年—2018年第一学期姓名:学号:年级:2016级班级:02班实验报告填写及打印要求:A4纸正反面打印;实验报告封面、封面上填写内容必须打印;实验报告内容,学生可手写也可打印,可根据内容自行加页;指导教师必须手写签名;左侧装订。实验报告内容实验题目:线性表及其应用实验目的:掌握线性表的定义、不同存储结构及基本运算。实验要求:约瑟夫(Joseph)问题描述为:编号为1,2,3,…,n的n个人按顺时针方向围坐一圈,从第s个人开始从1报数,数到第m的人出列;然后从它在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。设计一个程序求出列顺序。实验器材:电脑DEVC++实验步骤/程序源代码:#include<>#include<>typedefstructnode{//定义节点类型(单链表的定义结构)intnum;//用来对每个节点进行编号标序structnode*next;//递归定义}LNode,*Linkls;//}LNode;//typetefLNode*LinkListvoidcreate(intm,Linkls&head){Linklsp;head=(LNode*)malloc(sizeof(LNode));//申请头结点的储存空间head->next=head;//让链表成为一个空的循环链表for(inti=m;i>1;i--){if(!(p=(LNode*)malloc(sizeof(LNode))))exit(-1);//申请存储空间p->num=i;p->next=head->next;head->next=p;}head->num=1;}intmain(){intn,i,m,s=1,j=1;LNode*head,*p,*q;printf("请输入开始的总人数n:\n");scanf("%d",&n);printf("请输入从第s个开始的s值:\n");scanf("%d",&s);printf("请输入m的值:\n");scanf("%d",&m);//输入数据create(n,head);//产生一个以head为头结点,有n个元素的循环列表printf("进行一次删除操作:\n");for(i=1,p=head;i<s;i++)p=p->next;while(n--){for(i=1;i<m-1;i++)p=p->next;q=p->next;printf("第%d次出局的数:%d\n",j++,q->num);//输出数到得数字,后面进行删除p->next=q->next;p=p->next;free(q);//释放q所指向空间}system("pause");return0;}实验结果分析:实验日期:2017年10月23日成绩评定:□优秀(100-90分)□良好(89-80分)□中等(79-70分)□及格(69-60分)□不及格(60-0分)教师签名:年月日实验报告内容实验题目:栈和队列及其应用实验目的:掌握栈和队列的定义、存储结构及基本运算,理解栈与递归的应用。设计一个程序,演示用算符优先法对算术表达式求值的过程。实验要求:为实现算符优先算法求表达式的值,需要建立两个栈,一个是寄存运算符OPTR,一个是寄存操作数或运算结果OPND,先初始化栈,然后边扫描表达式边计算。实验器材:电脑DEVC++实验步骤/程序源代码:/***链栈实现表达式求值***/#include<iostream>usingnamespacestd;constcharoper[7]={'+','-','*','/','(',')','#'};#defineOK1#defineERROR0#defineOVERFLOW-2typedefcharSElemType;typedefintStatus;typedefstructSNode{//链栈的定义格式intdata;structSNode*next;//SNode链栈的名字}SNode,*LinkStack;StatusInitStack(LinkStack&S){//构造一个空栈S=NULL;returnOK;}boolStackEmpty(LinkStackS){//判断链栈是否为空if(!S)returntrue;returnfalse;}StatusPush(LinkStack&S,SElemTypee){//插入元素e,使之成为栈顶元素SNode*p=newSNode;if(!p){returnOVERFLOW;}p->data=e;//插入元素ep->next=S;S=p;returnOK;}StatusPop(Link

哈尔滨师范大学计算机科学与信息工程学院实验报告手册 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数34
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xiaodengyou
  • 文件大小582 KB
  • 时间2019-01-10