TADS:Estrutura de Dados: codigos0602: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
(Criou página com '#include<stdio.h> #include<stdlib.h> typedef struct No{ int dado; struct No *esquerdo; struct No *direito; } No; void main() { No raiz; raiz.dado = 20; ...')
 
Sem resumo de edição
 
Linha 1: Linha 1:
<syntaxhighlight lang="c">
#include<stdio.h>
#include<stdio.h>
#include<stdlib.h>
#include<stdlib.h>
Linha 68: Linha 71:


}
}
</syntaxhighlight>

Edição atual tal como às 17h22min de 6 de fevereiro de 2016


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

typedef struct No{
    int dado;
    struct No *esquerdo;
    struct No *direito;
} No;

void main()
{
    No raiz;
    raiz.dado = 20;
    raiz.esquerdo = NULL;
    raiz.direito  = NULL;

    No *novo = malloc(sizeof(No));
    novo->dado = 10;
    novo->esquerdo = NULL;
    novo->direito  = NULL;


    No *novoesquerdo = malloc(sizeof(No));
    novoesquerdo->dado = 5;
    novoesquerdo->esquerdo = NULL;
    novoesquerdo->direito = NULL;
    novo->esquerdo = novoesquerdo;


    No *novodireito = malloc(sizeof(No));
    novodireito->dado = 15;
    novodireito->esquerdo = NULL;
    novodireito->direito = NULL;
    novo->direito = novodireito;

    raiz.esquerdo = novo;


    novo = malloc(sizeof(No));
    novo->dado = 30;
    novo->esquerdo = NULL;
    novo->direito  = NULL;

    novoesquerdo = malloc(sizeof(No));
    novoesquerdo->dado = 25;
    novoesquerdo->esquerdo = NULL;
    novoesquerdo->direito = NULL;
    novo->esquerdo = novoesquerdo;


    novodireito = malloc(sizeof(No));
    novodireito->dado = 35;
    novodireito->esquerdo = NULL;
    novodireito->direito = NULL;
    novo->direito = novodireito;


    raiz.direito = novo;

    printf("Raiz    :  %d\n" , raiz.dado);
    printf("Esquerda:  %d\n" , raiz.esquerdo->dado);
    printf("Esquerda - e:  %d\n" , raiz.esquerdo->esquerdo->dado);
    printf("Esquerda - d:  %d\n" , raiz.esquerdo->direito->dado);
    printf("Direita :  %d\n" , raiz.direito->dado);
    printf("Direita : - e:  %d\n" , raiz.direito->esquerdo->dado);
    printf("Direita : - d:  %d\n" , raiz.direito->direito->dado);


}