文章
55
粉丝
100
获赞
12
访问
29.8k
#include<stdio.h>
#include<malloc.h>
#include<string>
#include<iostream>
using namespace std;
string str;
int len;
typedef struct BitNode{
int data;
struct BitNode *lchild,*rchild;
}BitNode,*BiTree;
//输入需要按照先序序列的遍历序列将值依次输入建树,若某个孩子值为空就输入99来代替
//输入的数据一定要符合一颗二叉树的定义,不然一直递归
BiTree create(BiTree &T){
if(len>=str.length()) return NULL;
char data = str[len++];
if(data!='#'){
T = (BiTree) malloc(sizeof(BitNode));
T->data = data;
T->lchild = NULL;//将左右两个指针置空防止脏地址
T->rchild = NULL;
T->lchild = create(T->lchild);
T->rchild = create(T->rchild);
}
return T;
}
//中序遍历
void InOrder(BiTree &T){
if(T!=NULL){
InOrder(T->lchild);
printf("%c ",T->data);
InOrder(T->rchild);
}
}
int main(){
while(cin>>str){
len = 0;
BiTree T;
BiTree tree = create(T);
...
登录后发布评论
暂无评论,来抢沙发