#include "General.h" void PreodererPrintBinaryTree(BinaryTree * root, void print(Data_Type)) { if (root != NULL) { print(root->info); PreodererPrintBinaryTree(root->left, print); PreodererPrintBinaryTree(root->right, print); } } void PosorderPrintBinaryTree(BinaryTree * root, void print(Data_Type)) { if (root != NULL) { PosorderPrintBinaryTree(root->left, print); PosorderPrintBinaryTree(root->right, print); print(root->info); } } void InorderPrintBinaryTree(BinaryTree * root, void print(Data_Type)) { if (root != NULL) { InorderPrintBinaryTree(root->left, print); print(root->info); InorderPrintBinaryTree(root->right, print); } } void LevelPrintBinaryTree(BinaryTree * root, void print(Data_Type)) { BinaryTree * temp; queue * qt; InitQueue(qt); InsertQueue(qt, ((Data_Type)root)); while (IsEmptyQueue(qt)) { temp = (BinaryTree *)RemoveQueue(qt).pointer; if (!temp->left) { InsertQueue(qt, ((Data_Type)temp->left)); } print(temp->info); if (!temp->right) { InsertQueue(qt, ((Data_Type)temp->right)); } } } void main(void) { }