Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef char TInfo;
- typedef struct Node{
- TInfo info;
- struct Node *left, *right;
- }TNode;
- typedef struct tree{
- TNode* root;
- }TBinaryTree;
- void init_tree(TBinaryTree* T,char c);
- void postorden(TNode* node,int);
- void insertR(TNode* N, TInfo x);
- void insertL(TNode* N, TInfo x);
- void main(){
- TBinaryTree T;
- init_tree(&T,'A');
- insertL(T.root,'B');
- insertR(T.root,'C');
- insertR(T.root->right,'D');
- insertR(T.root->right->right,'E');
- insertR(T.root->right->right->right,'G');
- insertL(T.root->right->right->right,'F');
- insertL(T.root->left,'H');
- insertR(T.root->left->left,'J');
- insertL(T.root->left->left,'I');
- insertR(T.root->left->left->left,'K');
- insertL(T.root->left->left->left->right,'L');
- insertR(T.root->left->left->left->right,'M');
- postorden(T.root,1);
- }
- void init_tree(TBinaryTree* T, char c){
- TNode *nuevo=malloc(sizeof(TNode));
- nuevo->info=c;
- nuevo->right=NULL;
- nuevo->left=NULL;
- T->root = nuevo;
- }
- void postorden(TNode* node,int i){
- if(node==NULL)
- return;
- postorden(node->left,i+1);
- postorden(node->right,i+1);
- if ((node->left==NULL && node->right==NULL)||i==1 )
- printf("%c\n", node->info);
- }
- void insertR(TNode* N, TInfo x){
- TNode *nuevo=malloc(sizeof(TNode));
- nuevo->info=x;
- nuevo->right=NULL;
- nuevo->left=NULL;
- N->right=nuevo;
- }
- void insertL(TNode* N, TInfo x){
- TNode *nuevo=malloc(sizeof(TNode));
- nuevo->info=x;
- nuevo->right=NULL;
- nuevo->left=NULL;
- N->left=nuevo;
- }
Advertisement
Add Comment
Please, Sign In to add comment