tree2.c
来自「这是我学习数据结构时用过的程序。索性打包传上去。数据结构实验用。」· C语言 代码 · 共 53 行
C
53 行
#include<stdio.h>
#include<stdlib.h>
typedef struct binode
{ char data;
struct binode *lchild,*rchild;
}BiNode;
char buf[255],*str=buf;
BiNode *d;
BiNode *makeTree()
{ BiNode *s;
s=(BiNode*)malloc(sizeof(BiNode));
s->data=*str++;
s->lchild=NULL;
s->rchild=NULL;
if(*str=='(')
{ str++;
if(*str!=',')
{ s->lchild=makeTree();
if(*str==')')
{str++;return s;}
else
{ str++;
s->rchild=makeTree();
}
}
else
{ str++;
s->rchild=makeTree();
}
str++;
}
return s;
}
void walkTree(BiNode *t)
{ putchar(t->data);
if(t->lchild==NULL&&t->rchild==NULL)
return;
putchar('(');
if(t->lchild!=NULL)
walkTree(t->lchild);
if(t->rchild!=NULL)
{ putchar(',');
walkTree(t->rchild);
}
putchar(')');
}
void main()
{ printf("enter exp:");
scanf("%s",str);
d=makeTree();
walkTree(d);
putchar('\n');
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?