Quick actions

cmd+k|ctrl+k

Navigation

Languages

Árvore binária - pós e ordem

Snippet info

Language

C

Visibility

public

Author

zehguilherme

Created

2017-09-02T00:54:09Z

Updated

2017-09-02T00:54:09Z

#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>

struct node{
    int num;
    struct node *L;
    struct node *R;
};
typedef struct node node;

void criarArvore(node **pRaiz){
    *pRaiz = NULL;
}

void inserir(struct node **pRaiz, int n){
    if(*pRaiz == NULL){
        *pRaiz = (node *) malloc(sizeof(node));
        (*pRaiz)->L = NULL;
        (*pRaiz)->R = NULL;
        (*pRaiz)->num = n;
        
    }else{
        if(n < (*pRaiz)->num)
            inserir(&(*pRaiz)->L,n);
            
        if(n > (*pRaiz)->num)
            inserir(&(*pRaiz)->R,n);
        
    }
    
}

void exibirRED(struct node *pRaiz){
    if(pRaiz != NULL){
        printf("\n%i",pRaiz->num);
        exibirRED(pRaiz->L);
        exibirRED(pRaiz->R);
    }
}

void exibirERD(struct node *pRaiz){
    if(pRaiz != NULL){
        exibirERD(pRaiz->L);
        printf("\n%i",pRaiz->num);
        exibirERD(pRaiz->R);
    }
}

void exibirEDR(struct node *pRaiz){
    if(pRaiz != NULL){
        exibirEDR(pRaiz->L);
        exibirEDR(pRaiz->R);
        printf(" - %i - ",pRaiz->num);
    }
}

int main(void) {
    node *pRaiz;
    criarArvore(&pRaiz);
    inserir(&(pRaiz),20);
    inserir(&(pRaiz),1);
    inserir(&(pRaiz),3);
    printf("\nRED:");
    exibirRED(pRaiz);
    printf("\nERD:");
    exibirERD(pRaiz);
    printf("\nEDR:");
    exibirEDR(pRaiz);
    
    
    return 0;
}
INFO