php怎么实现双向队列

53次阅读
没有评论

共计 1080 个字符,预计需要花费 3 分钟才能阅读完成。

在 PHP 中,可以使用数组来实现双向队列。下面是一个示例代码:

class Deque {private $deque;

    public function __construct() {$this->deque = [];}

    public function isEmpty() {return empty($this->deque);
    }

    public function pushFront($item) {array_unshift($this->deque, $item);
    }

    public function pushBack($item) {array_push($this->deque, $item);
    }

    public function popFront() {if ($this->isEmpty()) {return null;
        }
        return array_shift($this->deque);
    }

    public function popBack() {if ($this->isEmpty()) {return null;
        }
        return array_pop($this->deque);
    }

    public function peekFront() {if ($this->isEmpty()) {return null;
        }
        return $this->deque[0];
    }

    public function peekBack() {if ($this->isEmpty()) {return null;
        }
        return $this->deque[count($this->deque) - 1];
    }
}

$deque = new Deque();
$deque->pushFront(1);
$deque->pushBack(2);
$deque->pushBack(3);
echo $deque->popFront();  // 输出: 1
echo $deque->popBack();  // 输出: 3
echo $deque->peekFront();  // 输出: 2
echo $deque->peekBack();  // 输出: 2

在这个示例中,Deque 类表示一个双向队列。它使用一个数组 $deque 来存储队列中的元素。pushFront 方法将元素添加到队列的前端,pushBack 方法将元素添加到队列的后端。popFront 方法从队列的前端移除并返回元素,popBack 方法从队列的后端移除并返回元素。peekFront 方法返回队列的前端元素,peekBack 方法返回队列的后端元素。isEmpty 方法用于检查队列是否为空。

可以根据需要对 Deque 类进行扩展,添加其他方法或功能。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-13发表,共计1080字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)