验证性实验 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 <stdio.h>
#include <stdlib.h>
#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;