-1
My code creates a binary tree that is created with an array of random items and mounts them by sending them to the right or left of the previous number as a general rule of tree creation.
At the execution I have received two errors and I cannot know what is happening. The errors are:
Notice: Undefined index: valorDireita in C:\xampp\htdocs\Anexus\arvoreBinariaAnexus\class\arvore.class.php on line 47
and
Notice: Undefined index: valorEsquerda in C:\xampp\htdocs\Anexus\arvoreBinariaAnexus\class\arvore.class.php on line 31
index php.
<!DOCTYPE html>
<html lang="pt">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Arvore Binária</title>
</head>
<body>
<h1>Árvore Binaria</h1>
<h2>Random de 10 numeros, de 1 a 100</h2>
<h2>Sistema de Indicação</h2>
<?php
include 'class/arvore.class.php';
include 'class/no.class.php';
$no1 = New No();
$arvore = New Arvore();
// echo '<pre>';
$i = 1;
while ($i <= 10)
{
$i++;
$arvore->inserir($no1, random_int(1, 100));
}
?>
<h2>Totais</h2>
<?php
echo "<br>Quantidade da Esquerda = " . $valorEsquerda;
echo "<br>Total de pontos da Esquerda = " . $valorEsquerda * 200;
echo "<br><br><br>";
echo "<br>quantidade da Direita = ".$valorDireita -= 1;
echo "<br>Total de pontos da Direita = " .$valorDireita * 100;
echo "<br><br><br>";
?>
<!--
<h2>Estrutura do nó</h2>
<?php
print_r($no1);
?>
-->
</body>
</html>
no.class.php
<?php
class No {
public $raiz;
public $esquerda;
public $direita;
public $valor;
public function __construct($valor = ' ') {
if ( $valor != ' ' && !is_null($valor) ) {
$this->valor = $valor;
}
}
}
tree.class.php
<?php
class Arvore {
public $valorDireita;
public $valorEsquerda;
public function inserir($node, $valor) {
$i = 0;
if ($i = 0) {
echo "Inserindo Raiz" . $valor . "<br>";
$node->raiz = new No($valor);
$i++;
// Verifica se a árvore já foi criada
} elseif ($node != NULL) {
// Verifica se o valor a ser inserido é menor que o do nodo corrente da árvore, se sim vai para a subarvore esquerda
if ($valor < $node->valor) {
// Se tiver elemento no modo esquerdo continua a busca
if ($node->esquerda != NULL) {
$this->inserir($node->esquerda, $valor);
} else {
// se nodo esquerdo vazio insere o novo modo aqui e adiciona 200
echo "Inserindo " . $valor . " a esquerda de " . $node->valor . "<br>";
$node->esquerda = new No($valor);
$GLOBALS["valorEsquerda"] += 1;
}
// Verifica se o valor a ser inserido é maior que o nodo corrente da árvore, se sim vai para subarvore direta
} elseif ($valor > $node->valor) {
// Se tiver elemento no modo direto continua a busca
if ($node->direita != NULL) {
$this->inserir($node->direita, $valor);
} else {
// Se nodo direito vazio insere o novo modo aqui e adiciona 100
echo "Inserindo " . $valor . " a direita de " . $node->valor . "<br>";
$node->direita = new No($valor);
$GLOBALS["valorDireita"] += 1;
}
}
}
}
}
Thanks for the return. It worked your correction.
– Carlos Alberto de Lima