TADS:Estrutura de Dados: codigos0602

De Wiki Cursos IFPR Foz
Revisão de 17h21min de 6 de fevereiro de 2016 por Estevan.costa (discussão | contribs) (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; ...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegaçãoIr para pesquisar
  1. include<stdio.h>
  2. 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);


}