利用栈的特性,可以把一些即用即销的数据保存在栈中
定义一个结构体,包含两个部分,一个部分表示是数据还是符号。另一个部分保存内容。
typedef enum RPN_TYPE
{
OP_NUM,
OP_SYMBOL,
OP_ADD, // +
OP_SUB, // -
OP_MUL, // *
OP_DIV, // /
}RPN_TYPE;
typedef struct Cell
{
RPN_TYPE _type;
int value;
}Cell;
实现部分
int CountRPN(Cell* rpn, size_t n)
{
assert(rpn);
size_t i = 0;
Stack s;
StackInit(&s);
for (i = 0