Maison  >  Article  >  développement back-end  >  PHP implémente des listes chaînées de structures de données couramment utilisées

PHP implémente des listes chaînées de structures de données couramment utilisées

藏色散人
藏色散人avant
2019-09-25 09:04:332979parcourir

PHP implémente des listes chaînées de structures de données couramment utilisées

Récemment, j'ai complété mes connaissances sur les structures de données et j'ai vu quelques algorithmes liés aux listes chaînées, j'ai donc utilisé PHP pour simplement mettre en œuvre la création d’une liste à chaînage unique.

Ajouter des classes liées aux nœuds :

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

Classes d'opérations liées à une liste à chaînage unique :

<?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;
    }
}

Utiliser

<?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));
    }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer