[C++]数据结构实验04:使用堆栈进行简单的四则运算

该博客介绍了如何使用C++通过自定义链表形式的堆栈来处理数学表达式,实现四则运算。文章通过示例解释了如何处理合法的数学表达式,包括加、减、乘、除以及括号的运算,并提供了相关异常处理机制。
摘要由CSDN通过智能技术生成
/************************************************************************************/
/*  实验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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值