c语言二叉树建立,二叉树
二叉树的定义:二叉树由节点的有限集合构成,这个有限集合或者为空集,或者为由一个根节点(root)及两棵互不相交、分别称做这个根的左子树(left subtree)和右子树(right subtree)的二叉树组成的集合。
按照先序序列输入的数据构建一棵由先序方式构建的二叉树:代码以下
/* 先序建立一棵任意二叉树 */
/* 注意:输入数据的顺序颇有特色,本题输入的顺序要求为,先是根节点,再是左子树,再是右子树 */
#include
#include
using namespace std;
typedef int ElementType; //给int起别名为ElementType, typedef是起别名的意思
typedef struct bitnode //定义二叉树节点数据类型
{
ElementType data;
struct bitnode *left, *right;
} bitnode, *bitree; //bitree为指向bitnode这种结构的指针
bitree PerCreateTree(bitree T); //先序建立一棵二叉树
void PerOrder(bitree T); //先序输出一棵二叉树
bitree FreeTree(bitree T); //释放空间
//先序建立一棵二叉树
bitree PerCreateTree()
{
bitree T;
ElementType item;
cin >> item;
if( item == 0 ) //叶节点数据标志:
c语言二叉树建立,二叉树
二叉树的定义:二叉树由节点的有限集合构成,这个有限集合或者为空集,或者为由一个根节点(root)及两棵互不相交、分别称做这个根的左子树(left subtree)和右子树(right subtree)的二叉树组成的集合。
按照先序序列输入的数据构建一棵由先序方式构建的二叉树:代码以下
/* 先序建立一棵任意二叉树 */
/* 注意:输入数据的顺序颇有特色,本题输入的顺序要求为,先是根节点,再是左子树,再是右子树 */
#include
#include
using namespace std;
typedef int ElementType; //给int起别名为ElementType, typedef是起别名的意思
typedef struct bitnode //定义二叉树节点数据类型
{
ElementType data;
struct bitnode *left, *right;
} bitnode, *bitree; //bitree为指向bitnode这种结构的指针
bitree PerCreateTree(bitree T); //先序建立一棵二叉树
void PerOrder(bitree T); //先序输出一棵二叉树
bitree FreeTree(bitree T); //释放空间
//先序建立一棵二叉树
bitree PerCreateTree()
{
bitree T;
ElementType item;
cin >> item;
if( item == 0 ) //叶节点数据标志: