二叉树的建立

来源:百度知道 编辑:UC知道 时间:2024/06/06 14:46:31
简单的二叉树建立
我不知道它的具体形式是什么样子的啊
不需要有遍历 我想用它来调用别的函数来起到对商品的管理作用

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef struct node
{
char data;//节点信息
struct node *lchild;//左孩子
struct node *rchild;//右孩子
}BTnode;

static char a[1024];

void create(BTnode *&b,int m,int i)//建立二叉树
{
if(i<m&&a[i]!=' ')
{
b=(BTnode*)malloc(sizeof(BTnode));
b->data=a[i];
b->lchild=b->rchild=NULL;
create(b->lchild,m,2*i);
create(b->rchild,m,2*i+1);
}
}

void print(BTnode *&b)//以二叉链形式打印树,当然也可以以其他形式
{
BTnode *p=b;
if(p!=NULL)
{
printf("%c",p->data);
if(p->lchild!=NULL||p->rchild!=NULL)
{
printf("(");
print(b->lchild);
if(p->rchild!=NULL)
{
printf(",");
print(b-&g