解题思路:
注意事项:
参考代码:
#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 人评分
本人酷爱递归实现很多问题,这里也是浏览:549 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:654 |
printf基础练习2 (C语言代码)浏览:503 |
数组与指针的问题浏览:716 |
用筛法求之N内的素数。 (C语言代码)浏览:529 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:610 |
简单的a+b (C语言代码)浏览:506 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:524 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:579 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:762 |