Guest User

Untitled

a guest
Jul 16th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.29 KB | None | 0 0
  1. int main() {
  2. Arvore *arvore, *menor;
  3. char op;
  4. int conteudo, cont, nivel, num;
  5.  
  6. //recebe do usuario a quantidade de elementos a serem inserido na arvore
  7. arvore = NULL;
  8. do {
  9. system("cls");
  10. printf("Menu de opcoes para arvore binaria sobre vetores\n");
  11. printf(" \n1 - Inserir \n2 - Pesquisar \n3 - Mostrar \n4 - Remover \n5 - Conta Nos \n6 - Acha menor \n7 - Conta Niveis da arvore \n\n8 - Sair \n\nEscolha uma opcao:");
  12. op = getchar();
  13. fflush(stdin);//fflush(stdin);
  14.  
  15. switch (op) {
  16. case '1' : printf("\nInserindo na arvore ...\n");
  17. printf("\nDigite um numero: ");
  18. scanf("%d", &conteudo);
  19. fflush(stdin);//fflush(stdin);
  20. if (!arvore)
  21. arvore = insereNaArvoreBinaria(arvore, arvore, conteudo);
  22. else insereNaArvoreBinaria(arvore, arvore, conteudo);
  23. getchar();
  24. break;
  25. case '2' : printf("\nPesquisando na arvore ...\n");
  26. if (!arvore) printf("Arvore vazia!!\n");
  27. else {
  28. printf("\nDigite um numero: ");
  29. scanf("%d", &conteudo);
  30. fflush(stdin);//fflush(stdin);
  31. if (pesquisaArvore(arvore, conteudo)) printf("Valor localizado na arvore\n");
  32. else printf("\nValor NAO localizado na arvore!!\n");
  33. }
  34. getchar();
  35. break;
  36. case '3' : printf("\nMostrando a arvore ...\n");
  37. if (arvore) imprimeArvore(arvore, 0);
  38. else printf("Arvore vazia!!\n");
  39. getchar();
  40. break;
  41. case '4' : printf("\nRemovendo elemento da arvore ...\n");
  42. if (!arvore) printf("Arvore vazia!!\n");
  43. else {
  44. printf("Digite um numero: ");
  45. scanf("%d", &conteudo);
  46. fflush(stdin);//fflush(stdin);
  47. if (deletaArvore(arvore, conteudo)) printf("Valor localizado na arvore\n");
  48. else printf("Valor NAO localizado na arvore!!\n");
  49. }
  50. getchar();
  51. break;
  52. case '5' : printf("\nContando os nos...\n");
  53. cont = contaNos(arvore);
  54. if(cont==0)
  55. printf("\nArvore vazia!!!");
  56. else printf("Numero de nos: %d", cont);
  57. getchar();
  58. break;
  59. case '6' : printf("\nProcurando Menor NO...\n");
  60. menor = achaMenor(arvore);
  61. if(menor)
  62. printf("\nMenor NO = %d", menor->conteudo);
  63. else printf("\nArvore vazia!!!");
  64. getchar();
  65. break;
  66. case '7' : printf("\nContando os Niveis da arvore...");
  67. printf("\nInforme a árvore:");
  68. scanf("%d", &nivel);
  69. num = contaNosNivel(nivel, arvore);
  70. if(num)
  71. printf("\nNumero de niveis da arvore %d = %d", nivel, num);
  72. else printf("\nArvore %d vazia!!!", nivel);
  73. getchar();
  74. break;
  75. case '8' : break;
  76. default : printf("\nOpcao invalida!\n\n");
  77. getchar();
  78. }
  79.  
  80. } while(op != '8');
  81.  
  82. return 1;
  83. }
  84. /* REMOCAO
  85. 1º Nó sem filho
  86. 2º Nó (esq/dir) TEM filho
  87. 3º Nó com 2 filhos
  88.  
  89. */
Add Comment
Please, Sign In to add comment