php 模拟双向对列,php实现双向队列的实例

本文介绍了PHP中双向队列的概念,包括输出受限和输入受限的双向队列,并通过示例代码展示了如何实现一个双向队列类。在示例中,双向队列的插入和删除操作在头尾两端都能进行,当限制元素只能在其插入端删除时,双向队列可转换为两个相邻的栈。此外,还提供了清空队列、查看队列内容等实用方法。
摘要由CSDN通过智能技术生成

简单介绍一下在实际使用中,还可以有输出受限的双向队列(即一个端点允许插入和删除,另一个端点只允许插入的双向队列)和输入受限的双向队列(即一个端点允许插入和删除,另一个端点只允许删除的双向队列)。而如果限定双向队列从某个端点插入的元素只能从该端点删除,则该双向队列就蜕变为两个栈底相邻的栈了。

1.单向队列:只能从头进,从尾出

2.双向队列:头尾都可以进出<?php

class duilie{

private $arr=array(); //从头进

public function Head_in($item){

return array_unshift($this->arr,$item);

} //从头出

public function Head_out(){

return array_shift($this->arr);

} //从尾进

public function Tail_in($item){

return array_push($this->arr,$item);

} //从尾出

public function Tail_out(){

return array_pop($this->arr);

} //清空队列

public function clear(){

unset($this->arr);

} //显示队列

public function show(){

return implode(' ',$this->arr);

} //获得队列队尾的值

public function get_last(){

return array_pop($this->arr);

} //获得队列队首的值

public function get_first(){

return array_shift($this->arr);

}

} $obj=new duilie(); $obj->Tail_in('a'); $obj->Head_in('b'); $obj->Head_in('c'); $obj->Tail_out(); $arr=$obj->show(); echo $arr;?>

1.单向队列:只能从头进,从尾出

2.双向队列:头尾都可以进出<?php

class duilie{

private $arr=array(); //从头进

public function Head_in($item){

return array_unshift($this->arr,$item);

} //从头出

public function Head_out(){

return array_shift($this->arr);

} //从尾进

public function Tail_in($item){

return array_push($this->arr,$item);

} //从尾出

public function Tail_out(){

return array_pop($this->arr);

} //清空队列

public function clear(){

unset($this->arr);

} //显示队列

public function show(){

return implode(' ',$this->arr);

} //获得队列队尾的值

public function get_last(){

return array_pop($this->arr);

} //获得队列队首的值

public function get_first(){

return array_shift($this->arr);

}

} $obj=new duilie(); $obj->Tail_in('a'); $obj->Head_in('b'); $obj->Head_in('c'); $obj->Tail_out(); $arr=$obj->show(); echo $arr;?>

相关推荐:

有关双向队列类的课程推荐

如何使用php实现一个双向队列的代码实例

php 双向队列类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值