怎么用递归建立二叉树????
#include "stdio.h"
#include "stdlib.h"
typedef char TElemType;
typedef struct BiTNode{
TElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
int CreateBiTree(BiTNode *T);//利用递归遍历建立二叉树的存储结构
void PreOrder(BiTNode *T);//用先序遍历打印二叉树
int main()
{
BiTNode T;
CreateBiTree(&T);
PreOrder(&T);
return 1;
}
int CreateBiTree(BiTNode *T)
{
char ch;
scanf("%c",&ch);
if(ch==' ')T=NULL;
else{
if(!(T=(BiTNode *)malloc(sizeof(BiTNode))))return 0;
T->data =ch;
CreateBiTree(T->lchild );//形参是个指针,实参也是个指针,
CreateBiTree(T->rchild );
}
return 1;
}
void PreOrder(BiTNode *T)
{
if(T){
printf("%2c",T->data );
PreOrder(T->lchild );
PreOrder(T->rchild );
}
}
为何这样建立的二叉树的每个结点之间是独立的,CreateBiTree(T->lchild )的递归调用的参数有无问题??这里好象有一个实参是指针,形参也是指针,在被调用函数里对指针的修改并不能返回到调用函数
#include "stdlib.h"
typedef char TElemType;
typedef struct BiTNode{
TElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
int CreateBiTree(BiTNode *T);//利用递归遍历建立二叉树的存储结构
void PreOrder(BiTNode *T);//用先序遍历打印二叉树
int main()
{
BiTNode T;
CreateBiTree(&T);
PreOrder(&T);
return 1;
}
int CreateBiTree(BiTNode *T)
{
char ch;
scanf("%c",&ch);
if(ch==' ')T=NULL;
else{
if(!(T=(BiTNode *)malloc(sizeof(BiTNode))))return 0;
T->data =ch;
CreateBiTree(T->lchild );//形参是个指针,实参也是个指针,
CreateBiTree(T->rchild );
}
return 1;
}
void PreOrder(BiTNode *T)
{
if(T){
printf("%2c",T->data );
PreOrder(T->lchild );
PreOrder(T->rchild );
}
}
为何这样建立的二叉树的每个结点之间是独立的,CreateBiTree(T->lchild )的递归调用的参数有无问题??这里好象有一个实参是指针,形参也是指针,在被调用函数里对指针的修改并不能返回到调用函数
...全文
相关推荐
建立二叉树,层序、先序遍历( 用递归或非递归的方法都可以)
在本问题中,我们将讨论如何建立二叉树、进行层序遍历和先序遍历,以及如何实现这些功能的函数。首先,我们需要了解二叉树的基本术语和概念。根节点是二叉树的起始节点,没有父节点。
数据结构c语言版建立二叉树,中序非递归遍历(实验报告)
在本实验中,我们主要探讨了如何使用C语言来实现二叉树的建立以及中序非递归遍历。实验的目的是深入理解二叉树的逻辑结构,掌握非递归遍历方法,特别是中序非递归遍历,以及如何通过递归方式建立二叉树。
C++非递归建立二叉树实例
在本实例中,我们将探讨如何非递归地建立二叉树,这种方法通常比递归方式更节省内存,因为它不需要函数调用栈的空间。非递归建立二叉树的核心思想是利用栈来辅助构建过程。
在QT下使用递归生成二叉树
在这里,我们主要探讨如何利用QT的绘图功能和递归算法来实现二叉树的绘制。首先,我们要理解二叉树的基本概念。二叉树是每个节点最多有两个子节点的数据结构,通常分为左子节点和右子节点。
链表先序建立二叉树,得到中序后序输出,递归和非递归实现(C++代码加设计报告)
在本课程设计中,我们将探讨如何使用C++编程语言来构建和操作二叉树,特别是通过先序遍历建立二叉树以及非递归方式实现中序遍历。


