欢迎来到天天文库
浏览记录
ID:56109086
大小:69.50 KB
页数:10页
时间:2020-03-16
《数据结构栈的应用.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、......《数据结构》实验报告实验序号:4 实验项目名称:栈的操作学 号1407022228姓 名王元专业、班网络工程2班实验地点1-314指导教师林仙丽实验时间一、实验目的及要求1.熟悉栈的基本概念;2.掌握栈的顺序存储结构;3.掌握栈的应用。二、实验设备(环境)及要求微型计算机;windows操作系统;MicrosoftVisualStudio6.0集成开发环境。三、实验内容与步骤1.栈的顺序表表示和实现的如下:#include#defineMax
2、Size100usingnamespacestd;typedefintElemType;typedefstruct{ElemTypedata[MaxSize];inttop;}SqStack;voidInitStack(SqStack*st)//初始化栈{st->top=-1;}intStackEmpty(SqStack*st)//判断栈为空{.专业资料.......return(st->top==-1);}voidPush(SqStack*st,ElemTypex)//元素进栈{if(st->
3、top==MaxSize-1){printf("栈上溢出!");}else{st->top++;//移动栈顶位置st->data[st->top]=x;//元素进栈}}voidPop(SqStack*st,ElemType*e)//出栈{if(st->top==-1){printf("栈下溢出");}else{*e=st->data[st->top];//元素出栈st->top--;//移动栈顶位置}}intmain(){SqStackL;SqStack*st=&L;ElemTypee;
4、inti;InitStack(st);for(i=1;i<10;++i){Push(st,i);printf("入栈元素是:%d",i);}for(i=1;i<10;++i){Pop(st,e);.专业资料.......printf("出栈元素是:%d",e);}return0;}改写以上程序,实现功能如下:调用栈操作函数实现判别一个算术表达式中的圆括号和方括号配对是否正确匹配。2.C/C++的库函数中已经实现了栈,实例如下:#include//引入栈usingnamesp
5、acestd;intmain(){inta;stacks;scanf("%d",&a);s.push(a);//入栈printf("%d",s.top());//取得栈顶元素输出s.pop();//出栈return0;}请根据以上程序,设计算法如下:判别一个算术表达式中的圆括号配对是否正确。四、分析与讨论1..专业资料.......2.对上机实践结果进行分析,上机的心得体会。五、教师评语签名:日期:成绩附源程序清单:1.#include#defineMaxSiz
6、e100usingnamespacestd;typedefcharElemType;typedefstruct.专业资料.......{ElemTypedata[MaxSize];inttop;}SqStack;voidInitStack(SqStack*st)//初始化栈{st->top=-1;}intStackEmpty(SqStack*st)//判断栈为空{return(st->top==-1);}voidPush(SqStack*st,ElemTypex)//元素进栈{if(st->to
7、p==MaxSize-1){printf("栈上溢出!");}else{st->top++;//移动栈顶位置st->data[st->top]=x;//元素进栈}}voidPop(SqStack*st,ElemType*e)//出栈{if(st->top==-1){printf("栈下溢出");}else{.专业资料.......*e=st->data[st->top];//元素出栈st->top--;//移动栈顶位置}}intmain(){SqStackL;SqStack*st=&L;
8、ElemTypee,a[MaxSize];inti,j=1,k;do{InitStack(st);gets(a);for(i=0;a[i]!=' ';i++){if(a[i]=='('
9、
10、a[i]=='{'
11、
12、a[i]=='[')//左括号入栈Push(st,a[i]);if(a[i]==')'){if(StackEmpty(st)==1)//判断栈是否为空{printf("多了“(”,不匹配");break;}elseif('('==st->data[st->top])//匹配成功出栈P
此文档下载收益归作者所有