عضو کانال یوتیوب ما شوید.

پیاده سازی پشته در PHP

پی اچ پی
پی اچ پی

ساخت پشته در PHP

یکی از کمبود های قابل مشاهده در زبان برنامه نویسی PHP ساختار خام پشته می باشد که البته برنامه نویسان برای این مشکل خود راهکارهای متفاوتی می یابند.

اما برای بهبود در کار بهتر است از کلاس های مناسب برای این ساختار داده ای استفاده کرد با ما همراه باشید.

 

خواندن نوشته های زیر نیز به شما توصیه می شود:

 

پشته یا Stack چیست ؟

پشته یا stack یکی از انواع ساختارهای داده ای است و برای ذخیره و بازیابی داده‌ ها کاربرد فراوانی دارد.

پشته در برنامه نویسی کاربردهای بسیار زیادی دارد. الگوریتم و نحوه ی کار پشته ها به صورت LIFO است.

واژه ی LIFO مخفف عبارت Last In First Out است که این بدان معنی می باشد.

همیشه آخرین ورودی اولین خروجی می باشد. این LIFO است که اساس کار پشته‌ ها را تشکیل داده و سبک بازیابی داده ای در پشته ها را سازماندهی می کند.

هر پشته قادر به انجام موارد زیر می باشد:

init : پشته را می‌سازد.

push : یک آیتم را به بالای پشته اضافه می‌کند.

pop : آخرین آیتمی‌ که به پشته اضافه شده باشد را می خواند و سپس حذف می‌کند.

isEmpty : مشخص می‌کند که آیا پشته دارای آیتم دیگری هست‌ یا خیر ( در واقع خالی بودن پشته را بررسی می کند).

 

برای پیاده سازی پشته از کلاس زیر می توان استفاده کرد:

 

<?php
class MyStack
{
    protected $stack;
    protected $limit;

    public function __construct($limit=10)
    {
        $this->stack = array();
        $this->limit = $limit;
    }
 
    public function push($value)
    {
        if (count($this->stack) < $this->limit)
        {
            array_unshift($this->stack, $value);
        }
        else
        {
            throw new RunTimeException('The Stack is full..!!'); 
        }
    }
 
    public function pop()
    {
        if ($this->isEmpty())
        {
          throw new RunTimeException('The Stack is empty..!!');
        }
        else
        {
            return array_shift($this->stack);
        }
    }
 
    public function top()
    {
        return current($this->stack);
    }
 
    public function isEmpty()
    {
        return empty($this->stack);
    }
}
?>

 

از کلاس بالا به شکل زیر می توانید استفاده کنید:

 

<?php
$myBooks = new ReadingList();
 
$myBooks->push('item 1');
$myBooks->push('item 2');

echo $myBooks->pop();  // Output -> "item 2"
echo $myBooks->pop();  // Output -> "item 1"

$myBooks->push('item 3');

echo $myBooks->top();  // Output -> "item 3"

echo $myBooks->pop();  // Output -> "item 3" 

?>

 

نکته :

تابع top تنها مقدار بالای پشته را نمایش می دهد ولی همچنان در پشته مقدار آن خانه باقی می ماند.

 

توضیحات :
  • کد بالا به زبان پی اچ پی می باشد .
  • از کلاس زیر در کنار پروژه های خود استفاده کنید تا یک پشته پویا داشته باشید.
  • پشته ی بالا را می توان به تعداد خانه های متفاوتی محدود کرد که با توجه به نیاز شما با تغییر متغیر $limit قابل تغییر است.
  • کد بالا ساخت پشته در PHP بود که با کمک آن می توانید عملیات ها و تکنیک های پشته را در برنامه ی خود بهره بگیرید و از آن لذت ببرید.

خب کد یک پشته ی ساده می باشد با کاربردهای بسیار فراوان ولی در صورتی که شما یک کلاس پشته ی کامل تر در اختیار دارید حتما آن را برای ما ارسال کنید تا در اختیار دیگران هم قرار بگیرد.

با شی گرایی در سی شارپ بیشتر آشنا شوید.

موفق و پیروز باشید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]