>  기사  >  백엔드 개발  >  PHP는 일반적으로 사용되는 데이터 구조의 연결 목록을 구현합니다.

PHP는 일반적으로 사용되는 데이터 구조의 연결 목록을 구현합니다.

藏色散人
藏色散人앞으로
2019-09-25 09:04:332979검색

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는 일반적으로 사용되는 데이터 구조의 연결 목록을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제