#include<iostream>
#include<time.h>
#define ElemType char
#define NodeNum 8
using namespace std;
//二叉树的双链表存储结构
typedef struct BiTNode
{
ElemType data;//数据域
struct BiTNode *lchild, *rchild;//左右孩子指针
}BiTNode, *BiTree;
void CreateTree(BiTree &root)
{//建立二叉树
int i=1, flag;
BiTree node, pre, p;
srand((unsigned)time(NULL));
while(i++ <= NodeNum)
{
node = new BiTNode;
node->lchild = NULL;
node->rchild = NULL;
if(NULL == root)
{
root = node;
}
else
{
p = pre = root;
/*现在从树根出发, 走到指定树叶结点, 然后在树叶结点上插入新结点, 输入 0 表示
向左走, 输入其它字符表示向右走*/
cout<<"(向左向右?)请输入:"<<endl;
while(NULL != p)
{
cin>>flag;
pre = p;
if(0 =
生成二叉树(结点结构:数据域, 左孩子和右孩子指针)
最新推荐文章于 2024-08-14 22:40:04 发布
本文探讨如何构建二叉树,重点在于结点的组成,包括数据域以及指向左孩子和右孩子的指针。通过理解这种结构,可以更好地理解和操作二叉树数据结构。
摘要由CSDN通过智能技术生成