解题思路:
注意事项:
参考代码:
#include<stdio.h>
#include<stdlib.h>
#define stype char
typedef struct node{
struct node *left;
struct node *right;
stype num;}Node;
void preorder(Node *root)
{
if(root!=NULL)
{
printf("%c ",root->num);
preorder(root->left);
preorder(root->right);
}
}
void inorder(Node *root)
{
if(root!=NULL)
{
inorder(root->left);
printf("%c ",root->num);
inorder(root->right);
}
}
void postorder(Node *root)
{
if(root!=NULL)
{
postorder(root->left);
postorder(root->right);
printf("%c ",root->num);
}
}
//创建二叉树
void BulidBT(Node **tree) //二级指针
{
char ch;
scanf("%c",&ch);
if(ch==' ')
*tree=NULL;
else
{
*tree=(Node *)malloc(sizeof(Node));
(*tree)->num=ch;
BulidBT(&(*tree)->left);
BulidBT(&(*tree)->right);
}
}
void destroy(Node *root)
{
if(root!=NULL)
{
destroy(root->left);
destroy(root->right);
free(root);
}
}
int main()
{
Node *tree;
BulidBT(&tree);
preorder(tree);
putchar('\n');
inorder(tree);
putchar('\n');
inorder(tree);
putchar('\n');
destroy(tree);
return 0;
}
0.0分
0 人评分
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:1031 |
兰顿蚂蚁 (C++代码)浏览:1097 |
大小写转换 (C语言代码)浏览:860 |
wu-理财计划 (C++代码)浏览:837 |
三角形 (C++代码)递归(存在大量重复计算,容易出现时间超限)浏览:781 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:586 |
【明明的随机数】 (C语言代码)浏览:788 |
a+b浏览:433 |
打印十字图 (C语言代码)浏览:2710 |
1014题解浏览:485 |