PHP에서 연결리스트를 구현하는 방법은 무엇입니까?

coldplay.xixi
풀어 주다: 2023-03-02 16:14:02
원래의
2065명이 탐색했습니다.

PHP에서 연결 목록을 구현하는 방법: 먼저 노드 클래스를 정의하고 코드는 [function __construct($val=null)]입니다. 그런 다음 연결 목록의 구현 클래스를 구현합니다. 코드는 [function addAtIndex($index, $발)].

PHP에서 연결리스트를 구현하는 방법은 무엇입니까?

PHP에서 연결 목록을 구현하는 방법:

먼저 노드 클래스를 정의합니다

class Node{
    public $val;
    public $next;
    function __construct($val=null){
        $this->val = $val;
        $this->next = null;
    }
}
로그인 후 복사

연결 목록의 구현 클래스

class MyLinkedList {
    public $dummyhead; //定义一个虚拟的头结点
    public $size;
  
    function __construct() {
        $this->dummyhead = new Node(); 
        $this->size = 0;
    }
  
 
    function get($index) {
        if($index < 0 || $index >= $this->size)
            return -1;
        $cur = $this->dummyhead;
        for($i = 0; $i < $index; $i++){
            $cur = $cur->next;
        }
        return $cur->next->val;
    }
  
    function addAtHead($val) {
        $this->addAtIndex(0,$val);
    }
  
  
    function addAtTail($val) {
        $this->addAtIndex($this->size,$val);
    }
  
    function addAtIndex($index, $val) {
        if($index < 0 || $index > $this->size)
            return;
        $cur = $this->dummyhead;
        for($i = 0; $i < $index; $i++){
            $cur = $cur->next;
        }
        $node = new Node($val);
        $node->next = $cur->next;
        $cur->next = $node;
        $this->size++;
    }
  
    function deleteAtIndex($index) {
        if($index < 0 || $index >= $this->size)
            return;
        $cur = $this->dummyhead;
        for($i = 0; $i < $index; $i++){
            $cur = $cur->next;
        }
        $cur->next = $cur->next->next;
        $this->size--;
    }
}
로그인 후 복사

관련 학습 권장 사항: 항목에서 마스터까지 PHP 프로그래밍

위 내용은 PHP에서 연결리스트를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿