说明:root 为指向二叉树根指针的指针。 在工程项目中创建二叉树头文件 BinTree.h 和 BinTree.c。 在头文件 BinTree.h 中声明函数,在程序文件 BinTree.c 中编写函数。
时间: 2024-05-14 22:17:11 浏览: 66
数据结构二叉树头文件BiTree.h
好的,这是一个关于二叉树的问题。下面是 BinTree.h 的声明:
```c
#ifndef BINTREE_H
#define BINTREE_H
typedef struct TreeNode *Position;
typedef struct TreeNode *BinTree;
struct TreeNode {
int Data;
BinTree Left;
BinTree Right;
};
BinTree CreateBinTree(); // 创建一个空的二叉树
void PreorderTraversal(BinTree BT); // 先序遍历
void InorderTraversal(BinTree BT); // 中序遍历
void PostorderTraversal(BinTree BT); // 后序遍历
#endif /* BINTREE_H */
```
然后是 BinTree.c 的实现:
```c
#include "BinTree.h"
#include <stdlib.h>
BinTree CreateBinTree()
{
BinTree T = (BinTree)malloc(sizeof(struct TreeNode));
T->Left = NULL;
T->Right = NULL;
return T;
}
void PreorderTraversal(BinTree BT)
{
if (BT) {
printf("%d ", BT->Data);
PreorderTraversal(BT->Left);
PreorderTraversal(BT->Right);
}
}
void InorderTraversal(BinTree BT)
{
if (BT) {
InorderTraversal(BT->Left);
printf("%d ", BT->Data);
InorderTraversal(BT->Right);
}
}
void PostorderTraversal(BinTree BT)
{
if (BT) {
PostorderTraversal(BT->Left);
PostorderTraversal(BT->Right);
printf("%d ", BT->Data);
}
}
```
这样,你就可以在你的工程项目中使用这些函数来创建和遍历二叉树了。
阅读全文