برنامه نویسی

مقدمه ای به لیست های مرتبط در PHP: راهنمای مبتدی

لیست های پیوندی یک ساختار داده اساسی در علوم کامپیوتر است ، جایی که عناصر (گره ها به نام) به صورت متوالی از طریق نشانگرها متصل می شوند. بر خلاف آرایه ها ، لیست های مرتبط پویا هستند ، به این معنی که بدون نیاز به عملیات تغییر اندازه می توانند در اندازه رشد یا کوچک شوند. در این آموزش ، اصول اولیه اجرای یک لیست مرتبط در PHP را پوشش خواهیم داد.

ساختار یک گره لیست مرتبط
هر گره در یک لیست مرتبط از دو بخش تشکیل شده است:

  1. داده ها: مقدار ذخیره شده در گره.
  2. بعدی: یک مرجع (اشاره گر) به گره بعدی.

در اینجا یک مثال اجرای یک گره اساسی در PHP آورده شده است:

class Node {
    public $data;
    public $next;

    public function __construct($data) {
        $this->data = $data;
        $this->next = null;
    }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اجرای یک لیست مرتبط ساده
برای مدیریت گره ها ، ما یک کلاس LinkedList ایجاد می کنیم که سر لیست را حفظ می کند و روش هایی را برای دستکاری در آن فراهم می کند.

عملیات اساسی
1. گره را به انتها اضافه کنید
ما با تکرار گره ها ، یک گره را به انتهای لیست اضافه می کنیم تا اینکه به آخرین مورد برسیم.

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;
        }
    }
}

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

2. لیست را نمایش دهید
ما می توانیم لیست را برای چاپ همه عناصر طی کنیم.

public function display() {
    $current = $this->head;
    while ($current !== null) {
        echo $current->data . " -> ";
        $current = $current->next;
    }
    echo "NULL\n";
}

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

3. یک گره را حذف کنید
حذف یک گره شامل یافتن گره و به روزرسانی نشانگر گره قبلی است.

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;
    }
}

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

استفاده از مثال
در اینجا نحوه استفاده از اجرای لیست پیوندی آورده شده است:

$linkedList = new LinkedList();
$linkedList->append(10);
$linkedList->append(20);
$linkedList->append(30);

echo "Initial List:\n";
$linkedList->display();

$linkedList->delete(20);
echo "After Deleting 20:\n";
$linkedList->display();

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

*خروجی:
*

Initial List:
10 -> 20 -> 30 -> NULL
After Deleting 20:
10 -> 30 -> NULL

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

پایان
لیست های مرتبط ابزاری قدرتمند برای دستکاری داده های پویا است. در حالی که PHP دارای عملکردهای آرایه ای است که اغلب در خدمت اهداف مشابهی هستند ، درک لیست های مرتبط برای درک ساختار داده های اساسی و بهبود تفکر الگوریتمی ضروری است. این اجرای یک نقطه شروع برای سازه های پیشرفته تر مانند لیست های مضاعف و لیست های پیوندی دایره ای است.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا