TADS:Estrutura de Dados: codigos0602
De Wiki Cursos IFPR Foz
- 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);
}