mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-11 17:59:03 +00:00
33 lines
598 B
PHP
33 lines
598 B
PHP
|
<?php
|
||
|
class NodeIterator {
|
||
|
/*---------------------------
|
||
|
The NodeIterator can be used to iterate linked lists.
|
||
|
|
||
|
Sample:
|
||
|
$iter = new NodeIterator(array());
|
||
|
while($iter->hasNext()) {
|
||
|
$curr = $iter->getNext();
|
||
|
// ...
|
||
|
}
|
||
|
---------------------------*/
|
||
|
private $node;
|
||
|
|
||
|
function NodeIterator($node) {
|
||
|
$this->node = $node;
|
||
|
}
|
||
|
|
||
|
function hasNext() {
|
||
|
if($this->node == null) {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
function getNext() {
|
||
|
$n = $this->node;
|
||
|
$this->node = $this->node->getChild();
|
||
|
return $n->data;
|
||
|
}
|
||
|
}
|
||
|
?>
|