operater declare.h
来自「二叉树的遍历操作」· C头文件 代码 · 共 83 行
H
83 行
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;
//-------二叉树二叉链表存储表示-------
typedef char TElemType;
typedef enum {zero,one,two} Mtype;
typedef struct BiTNode
{
TElemType data;
struct BiTNode *lchild,*rchild;
Mtype mark;
}BiTNode,*BinTree; //有mark域的结点指针类型
//------栈存储表示----------
#define STACK_INIT_SIZE 10
#define STACKINCREMENT 10
typedef BinTree SElemType;
typedef struct
{
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
//-----队列存储表示--------
typedef BinTree QElemType;
typedef struct QNode
{
QElemType data;
struct QNode *next;
}QNode,*QueuePtr;
typedef struct
{
QueuePtr front;
QueuePtr rear;
}LinkQueue;
extern Status InitStack(SqStack &);
extern Status Push(SqStack &,SElemType );
extern Status Pop(SqStack &,SElemType &);
extern Status StackEmpty(SqStack &);
extern Status InitQueue(LinkQueue &);
extern Status EnQueue(LinkQueue &,QElemType );
extern Status DeQueue(LinkQueue &,QElemType &);
extern void QueueTraverse(LinkQueue );
extern Status DestroyQueue(LinkQueue );
extern Status QueueEmpty(LinkQueue );
extern void CreateBinTree(BinTree &);
extern void PreOrderTraverse(BinTree );
extern void InOrderTraverse(BinTree );
extern void PostOrderTraverse(BinTree );
extern void LevelOrderTraverse(BinTree );
extern void PreOrderTraverseRE(BinTree );
extern void InOrderTraverseRE(BinTree );
extern void PostOrderTraverseRE(BinTree );
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?