Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- include "build.php3";
- Class Elem
- {
- private $value = 0;
- private $elem_next = NULL;
- private $elem_prev = NULL;
- function __construct($data)
- {
- $this->value = $data;
- }
- public function getData()
- {
- return $this->value;
- }
- public function setNext($elem)
- {
- $this->elem_next = $elem;
- }
- public function setPrev($elem)
- {
- $this->elem_prev = $elem;
- }
- public function getNext()
- {
- return $this->elem_next;
- }
- public function getPrev()
- {
- return $this->elem_prev;
- }
- }
- $list = NULL;
- $elemCurrent = new Elem(1); // будем работать с текущим элементом
- $list = $elemCurrent; // list - наш список, добавляем в него первый элемент
- foreach (range(2,5) as $step) {
- $elemNew = new Elem($step);
- $elemNew->setPrev($elemCurrent); // устанавливаем для нового будущего элемента списка указатель на предыдущий элемент (текущий)
- $elemCurrent->setNext($elemNew); // устанавливаем для текущего элемента указатель на будущий элемент
- $elemCurrent = $elemCurrent->getNext(); // теперь наш текущий элемент = будущий, далее работаем с ним
- $elemNew = NULL; // не мусорим!
- }
- var_dump($list); // по сути, отобразить список = отобразить его первый элемент
- $elemCurrent = $list; // начинаем с элемента 1
- var_dump($elemCurrent->getNext()->getData()); // 2, т.к. следующий от первого
- $elemCurrent = $elemCurrent->getNext(); // перешли к элементу 2
- $elemCurrent = $elemCurrent->getNext()->getNext(); // перешли к элементу 4
- var_dump($elemCurrent->getPrev()->getData()); // 3, т.к. предыдущий от 4
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement