计算表达式:6 5 2 3 + 8 * + 3 + *
算法思路:
使用栈,当见到一个数时就把它推入栈中;在遇到一个运算符时该运算符就作用于从该栈弹出的两个数上,将所得结果推入栈中。
stack.h
#ifndef STACK_H_
#define STACK_H_
struct StackRecord;
typedef struct StackRecord * STACK;
typedef int ElementType;
struct StackRecord
{
int Capacity;
int TopOfStack;
ElementType * array;
};
int IsEmpty(STACK S);
int IsFull(STACK S);
STACK CreateStack(int MaxElements);
void DisposeStack(STACK S);
void MakeEmpty(STACK S);
void Push(ElementType X,STACK S);
ElementType Top(STACK S);
void Pop(STACK S);
ElementType TopAndPop(STACK S);
#endif
#define EmptyTOS (-1)
#define