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