Permissão para duplicatas em uma árvore binária. Modifique o programa da Figura 12.19 para permitir que a árvore binária contenha valores duplicados.
Passo 1
Neste exercício, precisamos modificar o programa para permitir valores duplicados na árvore binária. Para fazer isso, tudo o que precisamos fazer é reescrever a função insertNode. Vamos reescrever a função de forma que, se o número for menor ou igual a (*árvore)->dados, o número será adicionado ao lado esquerdo do nó. A seguinte função é modificada para permitir valores duplicados na árvore binária
Passo 2
void insertNode(TreeNodePtr *tree, int input){
if(*tree == NULL){
*tree = malloc(sizeof(TreeNode));
if(*tree != NULL){
(*tree)->value = input;
(*tree)->left = NULL;
(*tree)->right = NULL;
}else{
printf("Not enough space.");
}
}else{
if((*tree)->value
insertNode(&((*tree)->left),input);
}else{
insertNode(&((*tree)->right),input);
}
}
}
Passo 3
É isso pessoal, a resolução é curta pois estamos apenas modificando o que fora feito anteriormente. Para saber mais o que foi feito, olhe a resolução da questão citada.
Resposta
Ver o desenvolvimento