arvore binaria de busca

381 palavras 2 páginas
#include "ArvoreBinariaBusca.h"

no *criar(){ return NULL; //duvida nesta parte esta certo isso ?
}

int inserir(no **raiz,int elem){ //como *raiz ja é um ponteiro ** if(*raiz == NULL){ *raiz = malloc(sizeof(no)); if(raiz == NULL) //se o conteudo da raiz for NULL não alocou return 0; (*raiz)->inf = elem; (*raiz)->dir = NULL; (*raiz)->esq = NULL; return 1; } //caso aonde nao é inserido na raiz == NULL. if(elem inf) inserir(&((*raiz)->esq),elem); if(elem >(*raiz)->inf) inserir(&((*raiz)->dir),elem);
}

no *pesquisar(no *raiz,int elem){ //é do tipo no pq vai retornar um proprio elemento de no ou //pesquisar é um ponteiro do tipo no que retornara um elem de raiz. if(raiz == NULL) return NULL; if(elem == raiz->inf) return raiz; if(elem < raiz->inf) return pesquisar(raiz->esq,elem); if(elem > raiz->inf) return pesquisar(raiz->dir,elem);
}

void emOrdem(no *raiz){ if(raiz != NULL){ emOrdem(raiz->esq); printf( "%d\n",raiz->inf); emOrdem(raiz->dir); }
}
void preOrdem(no *raiz){ if(raiz != NULL){ printf( "%d\n",raiz->inf); preOrdem(raiz->esq); preOrdem(raiz->dir); }
}
void posOrdem(no *raiz){ if(raiz != NULL){ posOrdem(raiz->esq); posOrdem(raiz->dir); printf( "%d\n",raiz->inf); }
}

no *maiordireita(no **raiz){ if((*raiz)->dir != NULL) return maiordireita(&(*raiz)->dir); else{ no *aux = *raiz; if((*raiz)->esq != NULL) // se nao houver essa verificacao, esse nó vai perder todos os seus filhos da esquerda! *raiz = (*raiz)->esq; else *raiz = NULL; return aux; }
}

no *menoresquerda(no **raiz){ if((*raiz)->esq

Relacionados

  • Árvore binária de busca
    1578 palavras | 7 páginas
  • Arvore Binária de busca
    679 palavras | 3 páginas
  • Árvore de Busca Binária em C
    508 palavras | 3 páginas
  • REMOÇÃO EM ARVORE BINÁRIA DE BUSCA
    1094 palavras | 5 páginas
  • Arvore binária de busca com preferencia
    609 palavras | 3 páginas
  • Tad arvore binária de busca
    282 palavras | 2 páginas
  • Arvore binaria de busca - codigo em c
    770 palavras | 4 páginas
  • cenas
    1135 palavras | 5 páginas
  • Binario
    872 palavras | 4 páginas
  • Arvore Binaria
    865 palavras | 4 páginas