function inverter_lista_recursivo(Elo $elo)
{
    if ($elo->proximo === null) {
        return $elo;
    }
    $proximo = $elo->proximo;
    $elo->proximo = null;
    $ultimo = inverter_lista($proximo);
    $proximo->proximo = $elo;
    return $ultimo;
}
Example #2
0
<?php

/**
 * Sem alterar a interface, Implementar a função abaixo para inverter uma lista encadeada de Elo.
 * Anote a hora exata em que você começou a ler este problema,
 * para depois calcular quanto tempo levou para resolver este problema.
 */
require_once "lista.inc.php";
// funcoes auxiliares e classe Elo.
// return Elo
function inverter_lista(Elo $elo)
{
    return $elo;
}
$elo = converte_array_para_lista(range(10, 20));
imprimir_lista($elo);
// inicio: 10 => 11 => 12 => 13 => 14 => 15 => 16 => 17 => 18 => 19 => 20 => fim.
$elo = inverter_lista($elo);
imprimir_lista($elo);
// inicio: 20 => 19 => 18 => 17 => 16 => 15 => 14 => 13 => 12 => 11 => 10 => fim.