Maison > développement back-end > tutoriel php > 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

藏色散人
Libérer: 2023-04-07 13:02:01
avant
3102 Les gens l'ont consulté

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;
    }
}
Copier après la connexion

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;
    }
}
Copier après la connexion

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));
    }
}
Copier après la connexion

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!

Étiquettes associées:
php
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal