Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "header.h"
  4.  
  5. void mostraArvore (Celula* raiz)
  6. {
  7. if (raiz != NULL)
  8. {
  9. printf("\n%d",raiz->conteudo);
  10. mostraArvore(raiz->esquerda);
  11. mostraArvore(raiz->direita);
  12. }
  13. }
  14.  
  15. void VisualizarArvore(Celula *raiz){
  16. if (raiz != NULL) {
  17. printf("( %d ",raiz->conteudo);
  18. VisualizarArvore(raiz->esquerda);
  19. VisualizarArvore(raiz->direita);
  20. printf(")");
  21. }
  22. }
  23.  
  24. void menu () {
  25. printf("\n1 - Inserir");
  26. printf("\n2 - Excluir");
  27. printf("\n3 - Consulta em Ordem");
  28. printf("\n4 - Consulta em Pre-Ordem");
  29. printf("\n5 - Consulta em Pos-Ordem");
  30. printf("\n6 - Mostrar Arvore");
  31. printf("\n7 - Esvazia a Arvore");
  32. printf("\n8 - Sair");
  33. }
  34.  
  35. int main()
  36. {
  37. Celula *arvore;
  38. int auxiliar, opcao, flag;
  39. printf("Digite um numero: ");
  40. scanf("%d", &auxiliar);
  41. arvore = criaNovaArvore(auxiliar);
  42. flag = 1;
  43. while (flag) {
  44. system("cls");
  45. menu();
  46. printf("\nDigite uma opcao: ");
  47. scanf("%d", &opcao);
  48. if (opcao == 1) {
  49. system("cls");
  50. Celula *arvoreAuxiliar;
  51. printf("\nNumero a ser inserido: ");
  52. scanf("%d", &auxiliar);
  53. arvoreAuxiliar = criaNovaArvore(auxiliar);
  54. arvore = insereNaArvore(arvore, arvoreAuxiliar);
  55. //free(arvoreAuxiliar);
  56. }
  57. else if (opcao == 2) {
  58. if (isArvoreVazia(arvore)) {
  59. printf("\nArvore vazia!");
  60. system("pause");
  61. }
  62. else {
  63. mostraArvore(arvore);
  64. printf("\nDigite o numero que deseja excluir: ");
  65. scanf("%d", &auxiliar);
  66. arvore = procuraERemove(arvore, auxiliar);
  67. }
  68. }
  69. else if (opcao == 3) {
  70. printf("\nDigite o numero que deseja consultar: ");
  71. scanf("%d", &auxiliar);
  72. if (isInArvore(arvore, auxiliar)) {
  73. printf("\nO numero esta na arvore\n");
  74. system("pause");
  75. }
  76.  
  77. else {
  78. printf("\nO numero nao esta na arvore\n");
  79. system("pause");
  80. }
  81. }
  82. else if (opcao == 4) {
  83. printf("\nDigite o numero que deseja consultar: ");
  84. scanf("%d", &auxiliar);
  85. if (consultaEmPreOrdem(arvore, auxiliar)) {
  86. printf("\nO numero esta na arvore\n");
  87. system("pause");
  88. }
  89.  
  90. else {
  91. printf("\nO numero nao esta na arvore\n");
  92. system("pause");
  93. }
  94. }
  95. else if (opcao == 5) {
  96. printf("\nDigite o numero que deseja consultar: ");
  97. scanf("%d", &auxiliar);
  98. if (consultaEmPosOrdem(arvore, auxiliar)) {
  99. printf("\nO numero esta na arvore\n");
  100. system("pause");
  101. }
  102.  
  103. else {
  104. printf("\nO numero nao esta na arvore\n");
  105. system("pause");
  106. }
  107. }
  108. else if (opcao == 6) {
  109. VisualizarArvore(arvore);
  110. printf("\n");
  111. system("pause");
  112. }
  113. else if (opcao == 7) {
  114. auxiliar = arvore->conteudo;
  115. free(arvore);
  116. arvore = criaNovaArvore(auxiliar);
  117. }
  118. else if (opcao == 8) {
  119. flag = 0;
  120. }
  121. }
  122. return 0;
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement