【发布时间】:2011-12-12 03:21:41
【问题描述】:
我周五收到了一个面试问题,我想我没及格。问题是:
在 PHP 中编写一个处理双链表的类。
我理解这个概念,这是我给出的代码:
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'));
这最初有效,但如果我添加第二个元素,我会“丢失”第一个元素,我不明白为什么。
【问题讨论】:
-
element应该有prev和next指针,而不是list。
标签: php linked-list