数据结构栈的应用.pdf
《数据结构栈的应用.pdf》由会员分享,可在线阅读,更多相关《数据结构栈的应用.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 数据结构实验报告 实验序号:4 实验项目名称:栈的操作 学 号 1407022228 姓 名 王元 专业、班 网络工程 2 班 实验地点 1-314 指导教师 林仙丽 实验时间 一、实验目的及要求 1.熟悉栈的基本概念;2.掌握栈的顺序存储结构;3 掌握栈的应用。二、实验设备(环境)及要求 微型计算机;windows 操作系统;Microsoft Visual Studio 6.0 集成开发环境。三、实验内容与步骤 1.栈的顺序表表示和实现的如下:#include#define MaxSize 100 using namespace std;typedef int ElemType;type
2、def struct ElemType dataMaxSize;int top;SqStack;void InitStack(SqStack*st)/初始化栈 st-top=-1;int StackEmpty(SqStack*st)/判断栈为空 return(st-top=-1);void Push(SqStack*st,ElemType x)/元素进栈 if(st-top=MaxSize-1)printf(栈上溢出!n);else st-top+;/移动栈顶位置 st-datast-top=x;/元素进栈 void Pop(SqStack*st,ElemType*e)/出栈 if(st-to
3、p=-1)printf(栈下溢出n);else *e=st-datast-top;/元素出栈 st-top-;/移动栈顶位置 int main()SqStack L;SqStack*st=&L;ElemType e;int i;InitStack(st);for(i=1;i10;+i)Push(st,i);printf(入栈元素是:%dn,i);for(i=1;i10;+i)Pop(st,e);printf(出栈元素是:%dn,e);return 0;改写以上程序,实现功能如下:调用栈操作函数实现判别一个算术表达式中的圆括号和方括号配对是否正确匹配。2.C/C+的库函数中已经实现了栈,实例如下
4、:#include /引入栈 using namespace std;int main()int a;stacks;scanf(%d,&a);s.push(a);/入栈 printf(%dn,s.top();/取得栈顶元素输出 s.pop();/出栈 return 0;请根据以上程序,设计算法如下:判别一个算术表达式中的圆括号配对是否正确。四、分析与讨论 1.2.对上机实践结果进行分析,上机的心得体会。五、教师评语 签名:日期:成绩 附源程序清单:1.#include#define MaxSize 100 using namespace std;typedef char ElemType;ty
5、pedef struct ElemType dataMaxSize;int top;SqStack;void InitStack(SqStack*st)/初始化栈 st-top=-1;int StackEmpty(SqStack*st)/判断栈为空 return(st-top=-1);void Push(SqStack*st,ElemType x)/元素进栈 if(st-top=MaxSize-1)printf(栈上溢出!n);else st-top+;/移动栈顶位置 st-datast-top=x;/元素进栈 void Pop(SqStack*st,ElemType*e)/出栈 if(st-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 应用
限制150内