首页 > 其他 > 详细

链表练习 链表反转 链表插入..

时间:2019-11-16 14:59:21      阅读:69      评论:0      收藏:0      [点我收藏+]
<?php
class ListNode {
    public $data = null;
    public $next = null;
    public function __construct(string $data = NULL) {
        $this->data = $data;
        var_dump($this->data) . ‘</br>‘;
    }
}
class LinkedList{
    private $_firstNode = null;
    private $_totalNode = null;
    public function insert(string $data = null) {
        $newNode = new ListNode($data);
        if($this->_firstNode == null)
        {
            $this->_firstNode = &$newNode;
        }else{
            $currentNode = $this->_firstNode;
            while($currentNode->next !== null)
            {
                $currentNode = $currentNode->next;
            }
            $currentNode->next = $newNode;
        }
        $this->_totalNode++;
        return true;

    }
    public function display() {
        echo "链表长度为:" . $this->_totalNode;
        $currentNode = $this->_firstNode;
        while($currentNode !== null){
            echo "链表元素:</br>" . $currentNode->data . ‘</br>‘;
            $currentNode = $currentNode->next;
        }
    }
    /**
     *链表反转
     */
    public function reverse() {
        if($this->_firstNode != null){
            if($this->_firstNode->next !== null)
            {
                $reservedLinked = null;
                $next = null;
                $currentNode = $this->_firstNode;
                while($currentNode !== null)
                {
                    $next = $currentNode->next;
                    $currentNode->next = $reservedLinked;
                    $reservedLinked = $currentNode;
                    $currentNode = $next;
                }
                $this->_firstNode = $reservedLinked;
            }
        }
    }
}
$link_list = new LinkedList();
$link_list->insert(0);
$link_list->insert(1);
$link_list->insert(2);

$link_list->display();
echo "链表反转: </br>";
$link_list->reverse();
$link_list->display();

 

链表练习 链表反转 链表插入..

原文:https://www.cnblogs.com/guiyishanren/p/11871710.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!