?? tree2.c
字號:
#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 + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -