> 백엔드 개발 > PHP 튜토리얼 > PHP의 링크 된 목록 소개 : 초보자 가이드

PHP의 링크 된 목록 소개 : 초보자 가이드

Linda Hamilton
풀어 주다: 2025-01-26 20:05:11
원래의
791명이 탐색했습니다.

Introduction to Linked Lists in PHP: A Beginner

연결된 목록은 컴퓨터 과학의 기본 데이터 구조로, 요소(노드라고 함)가 포인터를 통해 순서대로 연결됩니다. 배열과 달리 연결된 목록은 동적이므로 크기 조정 작업 없이 크기를 늘리거나 줄일 수 있습니다. 이 튜토리얼에서는 PHP에서 연결 목록을 구현하는 기본 사항을 다룹니다.

연결리스트 노드의 구조

연결된 목록의 각 노드는 두 부분으로 구성됩니다.

  1. 데이터: 노드에 저장되는 값입니다.
  2. 다음: 다음 노드에 대한 참조(포인터)입니다.

다음은 PHP에서 기본 노드를 구현하는 예입니다.

<code class="language-php">class Node {
    public $data;
    public $next;

    public function __construct($data) {
        $this->data = $data;
        $this->next = null;
    }
}</code>
로그인 후 복사

간단한 연결리스트 구현

노드를 관리하기 위해 목록의 헤드를 유지하고 이를 조작할 수 있는 메서드를 제공하는 LinkedList 클래스를 만듭니다.

기본조작

1. 끝에 노드를 추가하세요

마지막 노드에 도달할 때까지 노드를 반복하여 목록 끝에 노드를 추가합니다.

<code class="language-php">class LinkedList {
    private $head;

    public function __construct() {
        $this->head = null;
    }

    public function append($data) {
        $newNode = new Node($data);
        if ($this->head === null) {
            $this->head = $newNode;
        } else {
            $current = $this->head;
            while ($current->next !== null) {
                $current = $current->next;
            }
            $current->next = $newNode;
        }
    }
}</code>
로그인 후 복사

2. 표시 목록

목록을 반복하여 모든 요소를 ​​인쇄할 수 있습니다.

<code class="language-php">public function display() {
    $current = $this->head;
    while ($current !== null) {
        echo $current->data . " -> ";
        $current = $current->next;
    }
    echo "NULL\n";
}</code>
로그인 후 복사

3. 노드 삭제

노드 삭제에는 노드를 찾고 이전 노드의 포인터를 업데이트하는 작업이 포함됩니다.

<code class="language-php">public function delete($data) {
    if ($this->head === null) {
        return;
    }

    if ($this->head->data === $data) {
        $this->head = $this->head->next;
        return;
    }

    $current = $this->head;
    while ($current->next !== null && $current->next->data !== $data) {
        $current = $current->next;
    }

    if ($current->next !== null) {
        $current->next = $current->next->next;
    }
}</code>
로그인 후 복사

사용예

연결리스트를 이용하여 구현하는 방법은 다음과 같습니다.

<code class="language-php">$linkedList = new LinkedList();
$linkedList->append(10);
$linkedList->append(20);
$linkedList->append(30);

echo "初始列表:\n";
$linkedList->display();

$linkedList->delete(20);
echo "删除 20 后:\n";
$linkedList->display();</code>
로그인 후 복사

출력:

<code>初始列表:
10 -> 20 -> 30 -> NULL
删除 20 后:
10 -> 30 -> NULL</code>
로그인 후 복사

결론

연결된 목록은 동적 데이터 조작을 위한 강력한 도구입니다. PHP에는 비슷한 목적으로 사용되는 배열 함수가 내장되어 있지만, 연결된 목록을 이해하는 것은 기본 데이터 구조를 마스터하고 알고리즘적 사고를 향상시키는 데 중요합니다. 이 구현은 이중 연결 목록 및 순환 연결 목록과 같은 고급 구조의 시작점을 제공합니다.

위 내용은 PHP의 링크 된 목록 소개 : 초보자 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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