最近在惡補資料結構相關的知識,看到連結串列相關的一些演算法,就用 PHP 簡單實現了單連結串列的建立。
新增節點相關類:
<?php namespace AppLibraries; class ListNode { //節點資料域 public $data; //節點指標域 public $next; //構建節點 public function __construct($data = null, $next = null) { $this->data = $data; $this->next = $next; } }
單連結串列相關操作類:
<?php namespace AppLibraries; 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 AppHttpControllers; // use IlluminateHttpRequest; use AppLibrariesSingleLinkList; class IndexController extends Controller { public function index () { $list = new SingleLinkList(); dd($list->headInsert(10)); //dd($list->tailInsert(10)); } }
以上就是PHP 實現常用資料結構之連結串列的詳細內容,更多請關注TW511.COM其它相關文章!