验证性实验3 :栈子系统 班级学号 20 姓名 施程程 1.实验目的 (1)掌握栈的特点及其描述方法
(2)用链式存储结构实现一个栈
(3)掌握建栈的各种基本操作
(4)掌握栈的几个典型应用的算法
2.实验内容 (1)设计一个字符型的链栈
(2)编写进栈、出栈、显示栈中全部元素的程序
(3)编写一个把十进制整数转换成二进制数的应用程序
(4)编写一个把中缀表达式转换成后缀表达式(逆波兰式)的应用程序
(5)设计一个选择式菜单,以菜单方式选择上述操作
栈 子 系 统 ********************************************** * 1---------进 栈 * * 2---------出 栈 * * 3---------显 示 * * 4---------数制转换 * * 5---------逆波兰式 * * 0---------返 回 * ********************************************** 请选择菜单号(0--5): 3.实验程序(附 zhan
cpp) #include #include #define STACKMAX 100 typedef struct stacknode { int data; struct stacknode *next; }StackNode; typedef struct { StackNode *top; }LinkStack; void Push (LinkStack &s,int x) { StackNode *p=new StackNode; p->data=x; p->next=s
top; s
top=p; } int Pop(LinkStack &s,int &x) { StackNode *p; if(s
=NULL) { p