#include <stdio.h> #include <stdlib.h> #include <stdbool.h> #define NOINFO -1 typedef struct node { int data; struct TNode* L; struct TNode* R; }Node, * PNode; typedef PNode BinTree; BinTree CreatBintree(); bool IsEmpty(BinTree BT); PreTraverse(BinTree BT); //先序遍历 //InTraverse(BinTree BT); //中序遍历 //PosTraverse(BinTree BT); //中序遍历 //LeTraverse(BinTree BT); //层序遍历 main() { BinTree BTree; BTree = CreatBintree(); IsEmpty(BTree); PreTraverse(BTree); } BinTree CreatBintree() { int data = NOINFO; BinTree BT = (BinTree)malloc(sizeof(Node)); BT->data = data; BT->L = NULL; BT->R = NULL; return BT; } bool IsEmpty(BinTree BT) { if (BT->L == NULL && BT->R == NULL) return true; else return false; } PreTraverse(BinTree BT) { if (IsEmpty(BT)) printf("BinTree is empty!"); else { if (BT) { printf("%d", BT->data); PreTraverse(BT->L); PreTraverse(BT->R); } } }
原文:https://www.cnblogs.com/abel2020/p/13052272.html