#include<stdio.h> #include<string> #include<iostream> typedef int Status; #define OK 1; #define ERROR 0; typedef struct BiTNode { char data; //数据域;Type: 用户定义数据类型 struct BiTNode *Lchild; //左指针域 struct BiTNode *Rchild; //右指针域 } BiTNode, *BiTree; Status IniBiTree(BiTree &T) { //构造空树 T = (BiTNode *)malloc(sizeof(BiTNode)); if (!T)return ERROR;//构造失败 T->Lchild = T->Rchild = NULL; return OK; } void CreateBiTree(BiTree &T) { //按先序次序输入二叉树中结点的值(一个字符),#字符表示空数, //构造二叉链表表示的二叉树T。 char ch; scanf_s("%c",&ch,2); if (ch ==
最关键的是,构造二叉树写错了,你应该传递的是根节点的二级指针,不然相当于拷贝传递根节点指针,是没法修改根节点指针内容的。想要修改根节点指针指向的内容,需要传递指向根节点指针的指针。可以参考我对二叉树的总结文章:http://blog.csdn.net/wzy_1988...
一周热门 更多>