Infix to PostFix (stack -- Linked List Implementation)
预备知识:
栈:限定仅在表尾进行插入和删除,后进先出
Stack Model
typedef char StackElementType;
typedef struct stackNode *Stack;
struct stackNode{
StackElementType element;
Stack nextElement;
};
链栈 ADT
int IsEmpty(Stack s);
void MakeEmpty(Stack s);
Stack CreateStack(void);
void Pop(Stack s);
void Push(StackElementType x,Stack s);
StackElementType Top(Stack s);
1. 判断栈是否为空
int IsEmpty(Stack S){
return S->nextElement==NULL;
}
2. 清空站内所有元素
void MakeEmpty(Stack S){
if(S==NULL)
printf("Must use CreateStack first!\n");
else
while (!IsEmpty(S))
Pop(S);
}
<