#include <stdio.h>
#include <stdlib.h>
typedef char ElementType;
typedef struct TNode* Position;
typedef Position BinTree;
struct TNode {
ElementType Data;
BinTree Left;
BinTree Right;
};
BinTree CreatBinTree(); /* 实现细节忽略 */
void InorderTraversal(BinTree BT);
void PreorderTraversal(BinTree BT);
void PostorderTraversal(BinTree BT);
void LevelorderTraversal(BinTree BT);
int main()
{
BinTree BT = CreatBinTree();
printf("Inorder:"); InorderTraversal(BT); printf("\n");
printf("Preorder:"); PreorderTraversal(BT); printf("\n");
printf("Postorder:"); PostorderTraversal(BT); printf("\n");
printf("Levelorder:"); LevelorderTraversal(BT); printf("\n");
return 0;
}
/* 你的代码将被嵌在这里 */
void InorderTraversal(BinTree BT) {
if (BT == NULL) return;
InorderTraversal(BT->Left);
printf(" %c", BT->Data);
InorderTraversal(BT->Right);
}
void PreorderTraversal(BinTree BT) {
if (BT == NULL) return;
printf(" %c", BT->Data);
PreorderTraversal(BT->Left);
PreorderTraversal(BT->Right);
}
void PostorderTraversal(BinTree BT) {
if (BT == NULL) return;
PostorderTraversal(BT->Left);
PostorderTraversal(BT->Right);
printf(" %c", BT->Data);
}
void LevelorderTraversal(BinTree BT) {
if (BT == NULL) return;
BinTree q[100];
int front = -1, rear = -1;
rear++; q[rear] = BT;
while (front != rear) {
front++; BinTree tmp = q[front];
printf(" %c", tmp->Data);
if (tmp->Left) {
rear++; q[rear] = tmp->Left;
}
if (tmp->Right) {
rear++; q[rear] = tmp->Right;
}
}
}
3.《数据结构与算法(C语言)》练习题库一树与二叉树-ANSWER.zip
需积分: 0 100 浏览量
2024-05-02
16:44:49
上传
评论
收藏 23KB ZIP 举报
he19513158537
- 粉丝: 0
- 资源: 1
最新资源
- 基于Python皮肤电信号的情绪识别算法源码+模型+PPT+详细文档+全部数据资料.zip
- 基于Python皮肤电信号的情绪识别算法源码+模型+PPT+详细文档+全部数据资料.zip
- 区块链毕业设计 基于区块链的慈善募捐平台的智能合约源码+详细文档+全部资料(高分项目).zip
- 区块链毕业设计 基于区块链的慈善募捐平台的智能合约源码+详细文档+全部资料(高分项目).zip
- 区块链毕业设计 基于区块链的慈善募捐平台的智能合约源码+详细文档+全部资料(高分项目).zip
- 免费听歌软件,支持无损音乐下载,支持收藏音乐同步
- 锐起RDV-5.0 build 6503
- ngrok-stable-windows-amd64.zip
- 狗脸检测数据集VOC+YOLO格式6154张1类别.7z
- 使用C++制作一个头像框
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈