旗下导航:搜·么
当前位置:网站首页 > PHP教程 > 正文

PHP 完成经常使用数据结构之链表【php教程】

作者:搜搜PHP网发布时间:2019-11-26分类:PHP教程浏览:97


导读:PHP完成经常运用数据结构之链表最近在恶补数据结构相干的学问,看到链表相干的一些算法,就用PHP简朴完成了单链表的竖立。增加节点相干类:<?phpna...
PHP 完成经常运用数据结构之链表

最近在恶补数据结构相干的学问,看到链表相干的一些算法,就用 PHP 简朴完成了单链表的竖立。

增加节点相干类:

<?php
namespace App\Libraries;
class ListNode
{
    //节点数据域
    public $data;
    //节点指针域
    public $next;
    //构建节点
    public function __construct($data = null, $next = null)
    {
        $this->data = $data;
        $this->next = $next;
    }
}

单链表相干操纵类:

<?php
namespace App\Libraries;
class SingleLinkList
{
    //头部插进去竖立单链表
    public function headInsert($n)
    {
        //新建头结点
        $head = new ListNode();
        for ($i=$n; $i > 0; $i--) { 
            //增加节点
            $newNode = new ListNode($i, $head->next);
            $head->next = $newNode;
        }
        return $head;
    }
    //尾部插进去竖立单链表
    public function tailInsert($n)
    {
        //新建头尾节点,指向同一个节点
        $head = $tail = new ListNode();
        for ($i=1; $i <= $n; $i++) { 
            //增加节点
            $newNode = new ListNode($i);
            //将尾结点指针指向新的节点
            $tail->next = $newNode;
            //将新节点标记为尾结点
            $tail = $newNode;
        }
        return $head;
    }
}

运用

<?php
namespace App\Http\Controllers;
// use Illuminate\Http\Request;
use App\Libraries\SingleLinkList;
class IndexController extends Controller
{
    public function index ()
    {
        $list = new SingleLinkList();
        dd($list->headInsert(10));
        //dd($list->tailInsert(10));
    }
}

以上就是PHP 完成经常运用数据结构之链表的细致内容,更多请关注ki4网别的相干文章!

标签:PHP