乐趣区

关于php:3-数据结构PHP实现-用数组来实现队列

阐明:该文章是用数组来实现队列,所以次要会对数组做逻辑操作(数组的逻辑操作在上文有提到 https://segmentfault.com/a/11…)

1. 实现逻辑

<?php
/**
 * content: 数组队列的实现
 * create: 2020-10-21
 */
namespace QueueBundle;

use StackBundleBaseArrayStack;

class BaseArrayQueue extends BaseArrayStack
{
    /**
     * 从后面插入数据
     * @return mixed|null
    */
    public function shift()
    {return $this->baseArray->del(0);
    }
    
    /**
     * 从后面弹出数据
     * @param $value
    */
    public function unshift($value): void
    {$this->baseArray->addFirst($value);
    }
}

2. 执行逻辑

<?php
<?php
require_once __DIR__. '/../vendor/autoload.php';
$queue = new QueueBundleBaseArrayQueue(new ArrayBundleBaseArray(1));
// 从开端插入 3 个元素
$queue->push('c');
$queue->push('d');
$queue->push('e');
// 从后面插入 2 个元素
$queue->unshift('b');
$queue->unshift('a');
// 打印队列
echo $queue. PHP_EOL;
// 从队列的开端弹出
echo $queue->pop(). PHP_EOL;
// 从队里的头部弹出
echo $queue->shift(). PHP_EOL;
// 打印队列
echo $queue. PHP_EOL;

3. 打印后果

Array: size = 5, capacity = 8
[a,b,c,d,e]
e
a
Array: size = 3, capacity = 4
[b,c,d]
退出移动版