//栈的头文件声明
#include
#include
#include "Tree"
#ifndef STACK_H
#define STACK_H
typedef union typelemt{
char ch;
Tree t;
}typelemt;
typedef struct stack{
typelemt* type_stack;
int max;
}stack;
typelemt pop(stack* p);//出栈
void push(stack* p,typelemt a);//入栈
void show_stack(stack* p);//释放栈
stack* build_stack();//建栈
void breakstack();//释放栈
#endif
//树的头文件声明
#include
#include
#include
#include "Stack.h"
#ifndef TREE_H
#define TREE_H
typedef char element;
typedef struct treeNode{
element value;//树值
struct treeNode* right;//左儿子
struct treeNode* left;//右二子
}treeNode;
typedef treeNode Tree;
void BuildTreeWithGeneralListInput(char s);
//(广义表输入建树)
/*这个函数里要用到栈,但是这样写"Stack.h"包含"tree.h"而tree.h又包含Stack.h彼此包含无穷无尽先然这是错误的*/
//但是去掉Stack.h中的tree.h则我无法识别出union里的Tree
//去掉Tree.h中的Stack.h我就无法识别广义表输入建树用到的栈和它的函数
//怎么解决啊!!求前辈!
#endif