//
// binary_tree.cpp
// BinaryTreeApp
//
// Created by ljpc on 2018/5/3.
// Copyright © 2018年 ljpc. All rights reserved.
//
#include "binary_tree.h"
BiTreeNode* CreatBiTree(char* s, int &i, int len)
// 利用先序遍历创建二叉树
// 参数:先序遍历字符串s,字符串初始下标i=0,字符串长度len。
// 返回:二叉树
{
// 请在这里补充代码,完成本关任务
/********** Begin *********/
BiTreeNode* T;
if(s[i]=='#'&&i<=len)
{
i++;
T=NULL;
}
else
{
T = (BiTreeNode*)malloc(sizeof(BiTreeNode));
T->data=s[i++];
T->left = CreatBiTree(s, i, len);
T->right = CreatBiTree(s, i, len);
}
return T;
/********** End **********/
}
void InOrder(BiTreeNode* root)
// 二叉树的中序遍历
// 参数:二叉树根节点root
// 输出:中间没有空格,末尾不换行。
{
// 请在这里补充代码,完成本关任务
/********** Begin *********/
if(root!=NULL)
{
InOrder(root->left);
printf("%c",root->data);
InOrder(root->right);
}
/********** End **********/
}
利用先序遍历创建二叉树,并给出相应二叉树的中序遍历结果。
于 2022-04-21 14:30:45 首次发布
该博客主要介绍了如何利用先序遍历创建二叉树以及进行中序遍历。通过C++代码实现, CreatBiTree 函数用于根据先序遍历字符串构建二叉树,InOrder 函数则实现了中序遍历并打印结果。读者可以借此理解二叉树的构造及遍历方法。

最低0.47元/天 解锁文章
2050

被折叠的 条评论
为什么被折叠?



