Recibí una pregunta de entrevista el viernes y creo que la suspendí. La pregunta era:¿Cómo implementar una lista doblemente enlazada en PHP?
Escriba una clase que procese una lista de doble enlace en PHP.
entiendo el concepto, y aquí está el código que di:
class element {
private $current;
public function __construct($e) {
$this->current = $e;
}
// method
// etc..
}
class doublelist
{
private $prev;
private $next;
private $current;
private $list;
public function add(element $e) {
if($this->current == NULL) {
$this->prev = $this->current;
}
$this->current = $e;
}
}
$list = new doublelist();
$list->add(new element('a'));
$list->add(new element('b'));
Esto funciona al principio, pero si agrego un segundo elemento que "perder" el primero, y yo no entiendo por qué.
'element' debe tener punteros' prev' y 'next', no' list'. – Jon