c语言建立二叉树怎么输入多组数据

问题描述

c语言建立二叉树怎么输入多组数据

#include
#include
typedef struct BiTNode
{
char data;
struct BiTNode *lchild,*rchild;
}
BiTNode,*BiTree;//定义结点类型
BiTree CreateBiTree()//创建树
{
char p;BiTree T;
scanf("%c",&p);

if(p == '$')
T=NULL;
else
{
T=(BiTNode *)malloc(sizeof(BiTNode));//为结点开辟空间
T->data=p;
T->lchild=CreateBiTree();
T->rchild=CreateBiTree();
}
return (T);
}
void PostOrder(BiTree T)//后序
{
if(T!=NULL)
{
PostOrder(T->lchild);
PostOrder(T->rchild);
printf("%c",T->data);
}
}
void main()//主函数
{
BiTree Ta;
Ta=CreateBiTree();
PostOrder(Ta);
}

解决方案

亲。可以看下我的博客里有二叉树的相关问题。

时间: 2024-10-11 20:30:30

c语言建立二叉树怎么输入多组数据的相关文章

struct-自己编的c语言建立二叉树的代码,运行时出错了,自己找不到错误,求大神帮忙,指点,急.

问题描述 自己编的c语言建立二叉树的代码,运行时出错了,自己找不到错误,求大神帮忙,指点,急. 自己编的c语言建立二叉树的代码,运行时出错了,自己找不到错误,求大神帮忙,指点,急. #include #include typedef struct tnode Tnode; struct tnode { Tnode *left; Tnode *right; int data; }; Tnode *new_tnode(int data) { Tnode *new = malloc(sizeof(Tn

c语言-做过了之后提示 Output Limit Exceeded 输入多组数据

问题描述 做过了之后提示 Output Limit Exceeded 输入多组数据 #include using namespace std; int isLeapYear(int year); int getSum(int year, int rest); int getRest(int year, int month, int day); int main(void) { unsigned int year; unsigned int month; unsigned int day; cha

控件-MFC 输入多组数据 float型

问题描述 MFC 输入多组数据 float型 用一个结构体表示组信息,组信息包括作业编号,提交时间,运行时间 下面是编码,请问要怎么改 //录入数据按钮 void CMFCApplication2Dlg::OnBnClickedButton1() { counter = GetDlgItemInt(IDC_EDIT5,NULL,TRUE); //IDC_EDIT5 作业数 in1 tasks[tempcou1].number = GetDlgItemInt(IDC_EDIT6,NULL,TRUE

args-怎样可先输入多组数据最后出结果

问题描述 怎样可先输入多组数据最后出结果 import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); int n,a=101; int t; for (int l = 0; l < a; l++) { n = s.nextInt(); int[] x = new

acm-怎么先序建立一颗二叉树,输入一个数字比如12,生成12个节点的二叉树,

问题描述 怎么先序建立一颗二叉树,输入一个数字比如12,生成12个节点的二叉树, 如题, 怎么先序建立一颗二叉树,输入一个数字比如12,生成12个节点的二叉树,其叶子节点的左右孩子都为-1(空). 解决方案 根据先序.中序.后序中的两者还原二叉树--递归函数和Csharp泛型

C++非递归建立二叉树实例_C 语言

本文实例讲述了C++非递归建立二叉树的方法.分享给大家供大家参考.具体分析如下: 思路: 设置一个标记变量flag并初始化为1. flag = 1表示现在需要创建当前结点的左孩子,2表示需要创建右孩子,3则表示当前结点的左右孩子都已经创建完毕,需要执行出栈操作,直到当前结点不是父结点的右孩子为止. 以先序创建如图所示二杈树: 实现代码: PBTree create() { char ch[20]; scanf("%s",ch); int len = strlen(ch); PBTree

c语言-已知二叉树的中序遍历序列与层次遍历序列分别存于数组A[1-n] B[1-n]中,建立二叉树的二叉链表。

问题描述 已知二叉树的中序遍历序列与层次遍历序列分别存于数组A[1-n] B[1-n]中,建立二叉树的二叉链表. 已知二叉树的中序遍历序列与层次遍历序列分别将值存于数组A[1-n].B[1-n]中,请编程建立二叉树的二叉链表. 二叉树结点定义 typedef struct { Elemtype data; BiNode* lchild,rchild; }BiNode,*BiTree; 解决方案 http://www.zybang.com/question/23e04267bb862ea67197

c语言基础-数据结构C语言版二叉树的问题。

问题描述 数据结构C语言版二叉树的问题. strong text #include "stdio.h" #include "malloc.h" #include "stdlib.h" #include "conio.h" #define stacksize 100 #define DataType char //便于后期修改.可以直接去修改char 类型来达到快速的修改,在程序长的情况下. typedef struct nod

写入时冲突-用c语言建立一个顺序表,并且对表进行操作

问题描述 用c语言建立一个顺序表,并且对表进行操作 写了个小程序,目的要求:用c语言建立一个顺序表,表中元素为学生,每个学生信息包含姓名.学号和成绩三部分,对该表实现:① 输出.② 插入.③ 删除.④ 查找功能,并计算出平均成绩和总成绩 感觉我的代码没什么问题,编译也正常通过,但是每次运行都会出现这样的问题,不知道是什么原因,希望又高手能帮忙解答下,谢了 #include#include void chu(int a); void zhao(int a);void cha(int a); voi