/************************************************************************************/
/* 实验04:堆栈的应用
/* 1.输入一个数学表达式(假定表达式输入格式合法),计算表达式结果并输出。
/* 2.数学表达式由单个数字和运算符“+”、“-”、“*”、“/”、“(、) ”构成,
/* 例如 2 + 3 * ( 4 + 5 ) – 6 / 4
/************************************************************************************/
//自定义链表形式的堆栈
#include<iostream>
#include<string>
using namespace std;
template<class T>
class Node{
public:
T data;
Node<T> *link;
};
template<class T>
class LinkedStack{
public:
LinkedStack(){topNode=0;}
~LinkedStack();
bool IsEmpty()const{return topNode==0;}
bool IsFull()const;
T Top()const;
LinkedStack<T>& PushStack(const T&x);
LinkedStack<T>& PopStack(T&x);
LinkedStack<T>& PopStack();
Node<T> *topNode;
void Show()const;
int Size()const;
};
//处理数组越界的报错
class OutOfBounds{
public
[C++]数据结构实验04:使用堆栈进行简单的四则运算
最新推荐文章于 2020-09-01 00:01:22 发布
该博客介绍了如何使用C++通过自定义链表形式的堆栈来处理数学表达式,实现四则运算。文章通过示例解释了如何处理合法的数学表达式,包括加、减、乘、除以及括号的运算,并提供了相关异常处理机制。
摘要由CSDN通过智能技术生成