PHP implementiert verknüpfte Listen häufig verwendeter Datenstrukturen
Vor kurzem habe ich mein Wissen über Datenstrukturen erweitert und einige Algorithmen gesehen, die sich auf verknüpfte Listen beziehen, also habe ich einfach PHP verwendet Implementieren Sie die Erstellung einer einfach verknüpften Liste.
Knotenbezogene Klassen hinzufügen:
<?php namespace App\Libraries; class ListNode { //节点数据域 public $data; //节点指针域 public $next; //构建节点 public function __construct($data = null, $next = null) { $this->data = $data; $this->next = $next; } }
Einfach verknüpfte Listenbezogene Operationsklassen:
<?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; } }
Verwenden Sie
<?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)); } }
Das obige ist der detaillierte Inhalt vonPHP implementiert verknüpfte Listen häufig verwendeter Datenstrukturen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!