/*
* stack demo, evaluation for arithmetic expression
* Time-stamp: <2011-08-24 15:17:31 root>
*
* snallie@tom.com
*/
#include <iostream>
using namespace std;
template < class T > class stk {
#define SIZE 100
public:
stk():sp(0) {
stk_base = new T[SIZE];
stk_bottom = stk_base + SIZE - 1;
sp = SIZE;
}
~stk() {
delete stk_base;
}
void push(T a) {
if (!stk_full())
stk_base[--sp] = a;
}
T pop() {
if (!stk_empty())
return stk_base[sp++];
* stack demo, evaluation for arithmetic expression
* Time-stamp: <2011-08-24 15:17:31 root>
*
* snallie@tom.com
*/
#include <iostream>
using namespace std;
template < class T > class stk {
#define SIZE 100
public:
stk():sp(0) {
stk_base = new T[SIZE];
stk_bottom = stk_base + SIZE - 1;
sp = SIZE;
}
~stk() {
delete stk_base;
}
void push(T a) {
if (!stk_full())
stk_base[--sp] = a;
}
T pop() {
if (!stk_empty())
return stk_base[sp++];

这是一个C++程序,它使用栈来处理和计算后缀表达式。程序首先将输入的中缀表达式转换为后缀表达式,然后通过栈操作计算后缀表达式的值。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



