编程高手进,高分!!

来源:百度知道 编辑:UC知道 时间:2024/05/10 20:14:50
程序要求:
(1)postfix函数实现中缀表达式转后缀表达式;
(2)main函数将输入的中缀表达式转为后缀表达式输出。

用C和C++都可以,只要正确,有加分!!!

stack.h头文件:
#define Max 50
typedef struct T
{
char ch;
struct T *lchild;
struct T *rchild;
}TreeNode;//树节点
typedef struct
{
TreeNode *node[Max];
int top;
}Stack;//用树节点指针数组实现栈
void Init(Stack *stack)
{
stack->top=0;
}
int IsEmpty(Stack *stack)
{
return((stack->top)==0);
}
int IsFull(Stack *stack)
{
return((stack->top)==Max);
}
void pop(Stack *stack,TreeNode **node)
{
if(!IsEmpty(stack))
{
*node=stack->node[--(stack->top)];
}
}
void push(Stack *stack,TreeNode *node)
{
if(!IsFull(stack))
{
stack->node[(stack->top)++]=node;
}
}
主程序.c文件:
/*本程序用GCC与VC测试通过,程序对错误表达式没有判断能力(例:a++b)*/
/* 支持括号及括号嵌套 */
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include"stack.h"
<