Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include "header.h"
- void mostraArvore (Celula* raiz)
- {
- if (raiz != NULL)
- {
- printf("\n%d",raiz->conteudo);
- mostraArvore(raiz->esquerda);
- mostraArvore(raiz->direita);
- }
- }
- void VisualizarArvore(Celula *raiz){
- if (raiz != NULL) {
- printf("( %d ",raiz->conteudo);
- VisualizarArvore(raiz->esquerda);
- VisualizarArvore(raiz->direita);
- printf(")");
- }
- }
- void menu () {
- printf("\n1 - Inserir");
- printf("\n2 - Excluir");
- printf("\n3 - Consulta em Ordem");
- printf("\n4 - Consulta em Pre-Ordem");
- printf("\n5 - Consulta em Pos-Ordem");
- printf("\n6 - Mostrar Arvore");
- printf("\n7 - Esvazia a Arvore");
- printf("\n8 - Sair");
- }
- int main()
- {
- Celula *arvore;
- int auxiliar, opcao, flag;
- printf("Digite um numero: ");
- scanf("%d", &auxiliar);
- arvore = criaNovaArvore(auxiliar);
- flag = 1;
- while (flag) {
- system("cls");
- menu();
- printf("\nDigite uma opcao: ");
- scanf("%d", &opcao);
- if (opcao == 1) {
- system("cls");
- Celula *arvoreAuxiliar;
- printf("\nNumero a ser inserido: ");
- scanf("%d", &auxiliar);
- arvoreAuxiliar = criaNovaArvore(auxiliar);
- arvore = insereNaArvore(arvore, arvoreAuxiliar);
- //free(arvoreAuxiliar);
- }
- else if (opcao == 2) {
- if (isArvoreVazia(arvore)) {
- printf("\nArvore vazia!");
- system("pause");
- }
- else {
- mostraArvore(arvore);
- printf("\nDigite o numero que deseja excluir: ");
- scanf("%d", &auxiliar);
- arvore = procuraERemove(arvore, auxiliar);
- }
- }
- else if (opcao == 3) {
- printf("\nDigite o numero que deseja consultar: ");
- scanf("%d", &auxiliar);
- if (isInArvore(arvore, auxiliar)) {
- printf("\nO numero esta na arvore\n");
- system("pause");
- }
- else {
- printf("\nO numero nao esta na arvore\n");
- system("pause");
- }
- }
- else if (opcao == 4) {
- printf("\nDigite o numero que deseja consultar: ");
- scanf("%d", &auxiliar);
- if (consultaEmPreOrdem(arvore, auxiliar)) {
- printf("\nO numero esta na arvore\n");
- system("pause");
- }
- else {
- printf("\nO numero nao esta na arvore\n");
- system("pause");
- }
- }
- else if (opcao == 5) {
- printf("\nDigite o numero que deseja consultar: ");
- scanf("%d", &auxiliar);
- if (consultaEmPosOrdem(arvore, auxiliar)) {
- printf("\nO numero esta na arvore\n");
- system("pause");
- }
- else {
- printf("\nO numero nao esta na arvore\n");
- system("pause");
- }
- }
- else if (opcao == 6) {
- VisualizarArvore(arvore);
- printf("\n");
- system("pause");
- }
- else if (opcao == 7) {
- auxiliar = arvore->conteudo;
- free(arvore);
- arvore = criaNovaArvore(auxiliar);
- }
- else if (opcao == 8) {
- flag = 0;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement