Home > Article > Backend Development > Example of implementing two-way queue in php
Briefly introduce that in actual use, there can also be a two-way queue with limited output (that is, a two-way queue with one endpoint allowing insertion and deletion, and the other endpoint only allowing insertion) and a two-way queue with limited input (that is, one endpoint A deque that allows insertions and deletions, the other endpoint only allows deletions). And if the elements inserted from a certain endpoint of the bidirectional queue can only be deleted from that endpoint, then the bidirectional queue will transform into two adjacent stacks at the bottom.
1. One-way queue: can only enter from the beginning and exit from the tail
2. Two-way queue: both the head and tail can enter and exit
<?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. One-way Queue: You can only enter from the beginning and exit from the tail
2. Two-way queue: Both the head and tail can enter and exit
<?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;?>
Related recommendations:
Recommended courses on two-way queues
How to use PHP to implement a two-way queue code example
The above is the detailed content of Example of implementing two-way queue in php. For more information, please follow other related articles on the PHP Chinese website!