好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP 实现常用数据结构之链表

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 实现常用数据结构之链表的详细内容,更多请关注Gxlcms其它相关文章!

查看更多关于PHP 实现常用数据结构之链表的详细内容...

  阅读:42次