1 <? PHP 2 # bidirectional queue 3 class deque {4 Public $ queue = array (); 5 6 Public Function frontadd ($ OBJ) {7 array_unshift ($ this-> queue, $ OBJ); 8} 9 10 public function frontremove () {11 return array_shift ($ this-> Queue); 12} 13 14 public function rearadd ($ OBJ) {15 array_push ($ this-> queue, $ OBJ); 16} 17 18 public function rearremove () {19 Return array_pop ($ this-> Queue ); 20} 21 22 public function size () {23 return Co Unt ($ Queue); 24} 25} 26 27 $ deque = new deque (); 28 $ deque-> rearadd (2); 29 $ deque-> rearadd (2 ); 30 $ deque-> frontadd (1); 31 $ deque-> frontadd (1); 32 $ deque-> rearadd (2); 33 $ deque-> rearadd (2 ); 34 print_r ($ deque); 35 $ deque-> frontremove (); 36 $ deque-> rearremove (); 37 print_r ($ deque); 38?>
Deque object ([queue] => array ([0] => 1 [1] => 1 [2] => 2 [3] => 2 [4] => 2 [5] => 2 )) deque object ([queue] => array ([0] => 1 [1] => 2 [2] => 2 [3] => 2 ))