Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include "tree.h"
- int esSubArbol(TNode *node1, TNode *node2);
- int sonIguales(TNode *node1, TNode *node2);
- int main(){
- TTree arbol1,arbol2;
- crearArbol(&arbol1);
- crearArbol(&arbol2);
- insertar(&arbol1,5);
- insertar(&arbol1,3);
- insertar(&arbol1,2);
- insertar(&arbol1,4);
- insertar(&arbol1,6);
- insertar(&arbol2,3);
- insertar(&arbol2,2);
- insertar(&arbol2,4);
- printf("%d\n",esSubArbol(arbol1.root,arbol2.root));
- return 0;
- }
- int esSubArbol(TNode *node1, TNode *node2){
- TNode *p = node1;
- while(p != NULL){
- if(p->info == node2->info)
- if(sonIguales(p,node2))
- return 1;
- else
- return 0;
- else if(node2->info < p->info){
- return esSubArbol(p->izq,node2);
- }else{
- return esSubArbol(p->der,node2);
- }
- }
- return 0;
- }
- int sonIguales(TNode *node1, TNode *node2){
- if(node1 == NULL && node2 == NULL)
- return 1;
- else if(node1 == NULL && node2 != NULL)
- return 0;
- else if(node1 != NULL && node2 == NULL)
- return 0;
- if(node1->info == node2->info)
- return (sonIguales(node1->izq,node2->izq) && sonIguales(node1->der,node2->der));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement