数据结构C++写一个表达式二叉树

如何声明一个Operators运算符集合类,提供运算符及其优先级,按优先级比较运算符大小的函数,两个操作数进行指定运算的函数等
还有如何将一个表达式以前缀表达式构造,用递归算法

这实验我去年做过......思路是,用两个栈,一个放符号,一个放数字,放符号的栈动态调整,符号出栈的时候数字也出栈,前缀表达式就粗来了

先定义两个栈,一个放运算符 的,一个放操作数的,然后你在构建运算符类的时候,定义一个struct node{char data;int key};前者用来放运算符的,后者是对这个运算符加权,你进行两个运算符的权值比较,就可以得到优先级,进栈和出栈的条件就是比较栈顶的符号权值(A.k)和你准备进栈的符号的运算符的权值(B.k)比较,(A.k>B.k)就进栈,否者就要出栈,同时操作数那边也要出栈