Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include "tree.h"
- int arbolVacio(TTree *tree){
- return tree->root == NULL;
- }
- void crearArbol(TTree *tree){
- tree->root = NULL;
- }
- int insertarNodo(TNode *node,TNode *nuevo){
- if(node->info == nuevo->info){
- free(nuevo);
- return 0;
- }
- if(node->info < nuevo->info){
- if(node->der == NULL){
- node->der = nuevo;
- return 1;
- }else
- return insertarNodo(node->der,nuevo);
- }
- if(node->info > nuevo->info){
- if(node->izq == NULL){
- node->izq = nuevo;
- return 1;
- }else
- return insertarNodo(node->izq,nuevo);
- }
- }
- int insertar(TTree *tree, TData data){
- TNode *nuevo = malloc(sizeof(TNode));
- nuevo->info = data;
- nuevo->izq = NULL;
- nuevo->der = NULL;
- if(arbolVacio(tree)){
- tree->root = nuevo;
- }else{
- insertarNodo(tree->root,nuevo);
- }
- }
- void preorden(TNode *node){
- printf("%d ",node->info);
- if(node->izq != NULL)
- preorden(node->izq);
- if(node->der != NULL)
- preorden(node->der);
- }
- void enorden(TNode *node){
- if(node->izq != NULL)
- enorden(node->izq);
- printf("%d ",node->info);
- if(node->der != NULL)
- enorden(node->der);
- }
- void postorden(TNode *node){
- if(node->izq != NULL)
- postorden(node->izq);
- if(node->der != NULL)
- postorden(node->der);
- printf("%d ",node->info);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement