数据结构栈和队列实验报告

数据结构栈和队列实验报告

ID:33530492

大小:988.50 KB

页数:17页

时间:2019-02-26

数据结构栈和队列实验报告_第1页
数据结构栈和队列实验报告_第2页
数据结构栈和队列实验报告_第3页
数据结构栈和队列实验报告_第4页
数据结构栈和队列实验报告_第5页
资源描述:

《数据结构栈和队列实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、南京信息工程大学实验(实习)报告实验(实习)名称栈和队列日期2017.11.8得分指导老师崔萌萌系计算机系专业软件工程年级2016班次(1)姓名学号一、实验目的1、学习栈的顺序存储和实现,会进行栈的基本操作2、掌握递归3、学习队列的顺序存储、链式存储,会进行队列的基本操作4、掌握循环队列的表示和基本操作二、实验内容1、用栈解决以下问题:(1)对于输入的任意一个非负十进制数,显示输出与其等值的八进制数,写出程序。(2)表达式求值,写出程序。2、用递归写出以下程序:(1)求n!。(2)汉诺塔程序,并截图显示3、4、5个盘子的移动步骤,写出移动6个盘子的移动次数。第17页共17页3、

2、编程实现:(1)创建队列,将asdfghjkl依次入队。(2)将队列asdfghjkl依次出队。4、编程实现创建一个最多6个元素的循环队列、将ABCDEF依次入队,判断循环队列是否队满。三、实验步骤1.栈的使用1.1用栈实现进制的转换:代码如下:#include#includeusingnamespacestd;intmain(){stacks;//栈s;intn,radix;printf("请输入要转换的十进制非负整数:");scanf("%d",&n);printf("请输入目标进制:");scanf("%d",&radix);第1

3、7页共17页printf("转换为%d进制:",radix);while(n){s.push(n%radix);n/=radix;}while(!s.empty()){//非空printf("%d",s.top());s.pop();}printf("");return0;}运行结果如下:2.2求表达式的值代码如下:#include#include#include#include#definetrue1#definefalse0#defineOPSETSIZE8typedefintStatus;第17

4、页共17页unsignedcharPrior[8][8]={//运算符优先级表//'+''-''*''/''('')''#''^'/*'+'*/'>','>','<','<','<','>','>','<',/*'-'*/'>','>','<','<','<','>','>','<',/*'*'*/'>','>','>','>','<','>','>','<',/*'/'*/'>','>','>','>','<','>','>','<',/*'('*/'<','<','<','<','<','=','','<',/*')'*/'>','>','>','>','','>','>'

5、,'>',/*'#'*/'<','<','<','<','<','','=','<',/*'^'*/'>','>','>','>','<','>','>','>'};typedefstructStackChar{//StackChar类型的结点SCcharc;structStackChar*next;}SC;typedefstructStackFloat{//StackFloat类型的结点SFfloatf;structStackFloat*next;}SF;SC*Push(SC*s,charc)//SC类型的指针Push,返回p{SC*p=(SC*)malloc(sizeof(

6、SC));p->c=c;p->next=s;returnp;}SF*Push(SF*s,floatf)//SF类型的指针Push,返回p{第17页共17页SF*p=(SF*)malloc(sizeof(SF));p->f=f;p->next=s;returnp;}SC*Pop(SC*s)//SC类型的指针Pop{SC*q=s;s=s->next;free(q);returns;}SF*Pop(SF*s)//SF类型的指针Pop{SF*q=s;s=s->next;free(q);returns;}floatOperate(floata,unsignedchartheta,floa

7、tb)//计算函数Operate{switch(theta){case'+':returna+b;case'-':returna-b;case'*':returna*b;case'/':returna/b;case'^':returnpow(a,b);default:return0;第17页共17页}}charOPSET[OPSETSIZE]={'+','-','*','/','(',')','#','^'};StatusIn(charTest,char*TestOp){intFind=fa

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

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

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