Ir ao conteúdo
  • Cadastre-se

lipitos

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Preciso fazer uma função que exclui os nós de uma árvore que são pares, tentei de várias formas porém o código está dando erro, gostaria de uma ajuda, se possível. Código da função remover que irei puxar dentro da função que estou fazendo (este está funcionando normalmente): int remove_ArvBin(ArvBin *raiz, int valor){ if(raiz == NULL) return 0; struct NO* ant = NULL; struct NO* atual = *raiz; while(atual != NULL){ if(valor == atual->info){ if(atual == *raiz) *raiz = remove_atual(atual); else{ if(ant->dir == atual) ant->dir = remove_atual(atual); else ant->esq = remove_atual(atual); } return 1; } ant = atual; if(valor > atual->info) atual = atual->dir; else atual = atual->esq; } return 0; } Função para remover os Pares: int excluiPar(ArvBin *raiz){ int info_atual, info_esquerda, info_direita; info_atual = (*raiz)->info; printf("%d\n", info_atual); if ((info_atual%2) == 0 ){ remove_ArvBin(raiz, info_atual); } if ((*raiz)->esq != NULL) { info_esquerda = ((*raiz)->info); if ((info_esquerda%2) == 0 ){ remove_ArvBin(raiz, info_esquerda); } } if ((*raiz)->dir != NULL) { info_direita = ((*raiz)->info); if ((info_direita%2) == 0 ){ remove_ArvBin(raiz, info_direita); } } } Quando rodo desta forma o sistema trava, tentei de outras formas também porém, não obtive sucesso. Tenho imensa dificuldade em estrutura de dados.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!