收藏 分销(赏)

数据结构栈实验问题与参考答案.doc

上传人:精**** 文档编号:2268691 上传时间:2024-05-24 格式:DOC 页数:3 大小:72.54KB 下载积分:5 金币
下载 相关 举报
数据结构栈实验问题与参考答案.doc_第1页
第1页 / 共3页
数据结构栈实验问题与参考答案.doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
栈实验 理学院 信息与计算科学 班级: 学号: 姓名: 一、目的 1、掌握栈的各种基本操作。 2、掌握基本操作在具体应用中的运用。 3、掌握程序设计的各种调试手段。 二、实验内容 从键盘中接收字符,如果该字符与栈顶元素相同,则弹出栈顶元素,否者压入栈。如果接收的字符为‘$’则停止输入。要求先建立一个空栈。 三、实验课时 2学时 四、程序(包括源代码,输入,输出结果) #include<stdio.h> #include<stdlib.h> #define Stack_Size 10 typedef struct{ char elem[Stack_Size]; int top; }SeqStack; void InitStack(SeqStack *S){ S->top=-1; } int isEmpty(SeqStack *S){ if(S->top==-1) return(1); else return(0); } int push(SeqStack *S,char x){ if(S->top==Stack_Size-1) return(0); S->top++; S->elem[S->top]=x; return(1); } int pop(SeqStack *S,char *x){ if(S->top==-1) return(0); *x=S->elem[S->top]; S->top--; return(1); } char GetTop(SeqStack *S){ char x; if(S->top==-1) return(0); else{ x=S->elem[S->top]; return(x); } } int main(){ SeqStack S; InitStack(&S); char a; char b; int flag=1; int tf; while(flag){ a=getchar(); if(a!='$'){ if(a==GetTop(&S)&&!isEmpty(&S)){ tf=pop(&S,&b); printf("%c出栈",b); } else{ tf=push(&S,a); printf("%c入栈",a); } } else{ flag=0; } } return(1); } 运行结果: 3 / 3
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服