eduardovp97

ex3.c

Nov 14th, 2016
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.05 KB | None | 0 0
  1. /*
  2. Implemente una función que reciba como parámetro un ABB y determine si existen o no valores
  3. repetidos en dicho árbol (Traducción Libre de [SW11] - Modificado).
  4. */
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include "tree.h"
  8.  
  9. int hayRepetidos(TTree *tree);
  10. int hayRepetidosAux(TNode *node);
  11.  
  12. int main(){
  13.  
  14.     TTree arbol;
  15.     crearArbol(&arbol);
  16.     insertar(&arbol,15);
  17.     insertar(&arbol,6);
  18.     insertar(&arbol,3);
  19.     insertar(&arbol,1);
  20.     insertar(&arbol,4);
  21.     insertar(&arbol,9);
  22.     insertar(&arbol,7);
  23.     insertar(&arbol,12);
  24.     insertar(&arbol,20);
  25.     insertar(&arbol,18);
  26.     insertar(&arbol,24);
  27.     insertar(&arbol,17);   
  28.  
  29.     printf("%d\n",hayRepetidos(&arbol));
  30.  
  31.     return 0;
  32. }
  33.  
  34. int hayRepetidos(TTree *tree){
  35.     if(tree->root == NULL)
  36.         return -1;
  37.     return hayRepetidosAux(tree->root);
  38. }
  39.  
  40. int hayRepetidosAux(TNode *node){
  41.     if(node == NULL)
  42.         return 0;
  43.     if(node->izq != NULL && node->info == node->izq->info)
  44.         return 1;
  45.     if(node->der != NULL && node->info == node->der->info)
  46.         return 1;
  47.     return hayRepetidosAux(node->izq) || hayRepetidosAux(node->der);
  48. }
Add Comment
Please, Sign In to add comment