头文件声明和定义:BinaryTree.hpp
#include<iostream>
using namespace std;
struct TreeNode
{
char* m_strdata;
TreeNode* m_lNext;
TreeNode* m_rNext;
};
void PreOrder(const TreeNode* treeNode) //前序递归遍历
{
if (treeNode == NULL)
{
return;
}
printf("%s ", treeNode->m_strdata); //访问结点数据
PreOrder(treeNode->m_lNext);
PreOrder(treeNode->m_rNext);
}
void InOrder(const TreeNode* treeNode) //中序递归遍历
{
if (treeNode == NULL)
{
return;
}
InOrder(treeNode->m_lNext);
printf("%s ", treeNode->m_strdata); //访问结点数据
InOrder(treeNode->m_rNext);
}
void PostOrder(const TreeNode* treeNode) //后续递归遍历
{
if (treeNode == NULL)
{
return;
}
PostOrder(treeNode->m_lNext); //访问结点数据
PostOrder(treeNode->m_rNext);
printf("%s ", treeNode->m_strdata);
}
测试程序