欢迎来到天天文库
浏览记录
ID:41097992
大小:67.50 KB
页数:8页
时间:2019-08-16
《数据结构实验报告书5》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、数据结构实验报告——实验5学号:姓名:得分:______________一、实验目的1、复习栈的逻辑结构、存储结构及基本操作;2、掌握顺序栈、链栈。二、实验内容1、(必做题)假设栈中数据元素类型是字符型,请采用顺序栈实现栈的以下基本操作:(1)StatusInitStack(&S)//构造空栈S;(2)StatusPush(&S,e)//元素e入栈S;(3)StatusPop(&S,&e)//栈S出栈,元素为e。2、(必做题)请实现:对于一个可能包括括号{}、[]、()的表达式,判定其中括号是否匹配。三、算法描述(采用自然语言描述)1.构建空栈s,输入元素,将元素依次入栈,遍历打印栈中元
2、素,输出栈顶元素,打印被输出的元素,遍历打印栈中元素。2.构建空栈,输入表达式,使用函数count判断表达式中括号是否匹配,如果匹配输出匹配正确,不匹配则输出匹配错误。四、详细设计1...打印被输出的元素遍历打印栈中元素开始构建空栈s将元素依次入栈输出栈顶元素结束输入元素遍历打印栈中元素2.输出匹配错误使用函数count判断表达式中括号是否匹配开始构建空栈s结束输入表达式输出匹配正确五、程序代码..(给出必要注释)1.#include#include#defineMaxSize100typedefstructnode*SqStack;typedefc
3、harElemType;structnode//栈的数据结构{inttop;ElemTypedata[MaxSize];};voidStatusInitStack(SqStack*L)//构造空栈S{(*L)=(SqStack*)malloc(sizeof(SqStack));(*L)->top=-1;}voidStatusPush(SqStackL,ElemTypee)//元素e入栈S{if(L->top==MaxSize-1){printf("栈满");}else{L->top++;L->data[L->top]=e;}}voidStatusPop(SqStackL,ElemTy
4、pe*e)//栈S出栈,元素为e{if(L->top==-1){..printf("栈空");}else{*e=L->data[L->top];L->top--;}}voidPrint(SqStackL)//遍历输出{inti=0;for(i=0;i<=L->top;i++){printf("%c",L->data[i]);}printf("");}intmain(){SqStacks;ElemTypee;ElemType*y;y=&e;StatusInitStack(&s);printf("输入入栈数据:");scanf("%c",&e);while(e!=''){Stat
5、usPush(s,e);scanf("%c",&e);}printf("目前栈中元素为:");Print(s);StatusPop(s,y);printf("出栈元素是:%c",*y);printf("栈顶元素出栈后,栈为:");Print(s);..}2.#include#include#include#defineSTACK_INIT_SIZE10#defineSTACK_GROW_SIZE5#defineELEMTYPEchartypedefstruct/*建立一个栈的首结点*/{ELEMTYPE*b
6、ase;ELEMTYPE*top;intstacksize;}SpStack;intInitStack(SpStack*s)/*建立空的栈并返回首地址*/{s->base=((ELEMTYPE*)malloc(STACK_INIT_SIZE*sizeof(ELEMTYPE)));if(!s->base)return0;s->top=s->base;s->stacksize=STACK_INIT_SIZE;return1;}intStackEmpty(SpStack*s)/*判断栈是否为空*/{if(s->top==s->base)return1;elsereturn0;}intPush(
7、SpStack*s,ELEMTYPEe)/*往栈顶插入元素即进栈*/{if(s->top-s->base>=s->stacksize)/*判断是否栈满*/{s->base=((ELEMTYPE*)realloc(s->base,(s->stacksize+STACK_GROW_SIZE)*sizeof(ELEMTYPE)));if(!s->base)return0;..s->stacksize+=STACK_GROW_SIZE;s-
此文档下载收益归作者所有