<?php //双向队列的实现 class DoubleEndedQueue{ public $elements; public function __construct(){//析构函数,创建一个数组 $this->elements = array(); } public function push($element){//array_unshift() 函数在数组开头插入一个或多个元素。 array_unshift($this->elements , $element); } public function pop(){ return array_shift($this->elements);//PHP array_shift() 函数删除数组中的第一个元素_ } public function inject($element){//给数组末尾追加元素,无指定下标,默认为数字 $this->elements[] = $element; } public function eject(){ array_pop($this->elements);//PHP array_pop() 函数删除数组中的最后一个元素 } } //实例化该类,测试下 $a=new DoubleEndedQueue(); $a->inject(‘aa’);//给数组末尾追加元素,无指定下标,默认为数字 $a->inject(‘dd’); $a->inject(‘cc’); $a->inject(‘dd’); $a->push(’111′);//函数在数组开头插入一个或多个元素。 $a->pop();//PHP array_shift() 函数删除数组中的第一个元素_ $a->eject();//PHP array_pop() 函数删除数组中的最后一个元素 print_r($a->elements); ?>