#include "stdafx.h"
#include <iostream>
using namespace std;
const int MAXSIZE = 20; //定义栈空间大小为20
struct BTNode
{
char m_value;
BTNode *m_left;
BTNode *m_right;
};
BTNode *stackArr[MAXSIZE] = {0};//用一个静态数组模拟栈
int nTop = -1;//初始状态下nTop=-1表示栈空
//先序创建二叉树
void CreatBTree(BTNode *&root)
{
char nValue = 0;
cin >> nValue;
if ('#' == nValue)
{
return;
}
else
{
root = new BTNode();
root->m_value = nValue;
CreatBTree(root->m_left);
CreatBTree(root->m_right);
}
}
//先序遍历二叉树(递归)
void PreOrderTravse(BTNode *&pRoot)
{
if (pRoot != NULL)
{
cout << pRoot->m_value << " ";
PreOrderTravse(pRoot->m_left);
PreOrderTravse(pRoot->m_right);
}
}
//中序遍历二叉树(递归)
void InOrderTravse(BTNode *&pRoot)
{
if (pRoot != NULL)
{
InOrderTravse(pRoot
二叉树的先序、中序、后序遍历的递归和非递归实现
最新推荐文章于 2019-08-21 23:50:55 发布