週五我收到了一個面試問題,我認爲我不贊同。問題是:如何在PHP中實現雙向鏈表?
編寫一個處理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'。 – Jon