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);
}