之乎者也2011

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

  1. <?php   
  2. class DoubleQueue    
  3. {   
  4.     public $queue = array();   
  5.     /**(尾部)入队  **/   
  6.     public function push($value)    
  7.     {   
  8.         return array_push($this->queue,$value);   
  9.     }   
  10.     /**(尾部)出队**/   
  11.     public function pop()    
  12.     {   
  13.         return array_pop($this->queue);   
  14.     }   
  15.     /**(头部)入队**/   
  16.     public function enq($value)    
  17.     {   
  18.         return array_unshift($this->queue,$value);   
  19.     }   
  20.     /**(头部)出队**/   
  21.     public function deq()    
  22.     {   
  23.         return array_shift($this->queue);   
  24.     }   
  25.     /**清空队列**/   
  26.     public function makeEmpty()    
  27.     {   
  28.         return unset($this->queue);   
  29.     }   
  30. }   
  31. class DoubleDueue    
  32. {   
  33.     public $queue = array();   
  34.     
  35.     public function push($value)    
  36.     {   
  37.         return $this->queue[] = $value;   
  38.     }   
  39.     public function pop()    
  40.     {   
  41.         $count = $this->count();   
  42.         if($count >= 1)    
  43.         {   
  44.             $value = $this->queue[$count-1];   
  45.             unset($this->queue[$count-1]);   
  46.             return $value;   
  47.         }   
  48.         else   
  49.         {   
  50.             return false;   
  51.         }   
  52.     }   
  53.     public function enq($value)    
  54.     {   
  55.         /*不好做*/   
  56.     }   
  57.     public function deq()    
  58.     {   
  59.         /*不好做*/   
  60.     }   
  61.     public function count()    
  62.     {   
  63.         return count($this->queue);   
  64.     }   
  65.     public function makeEmpty()    
  66.     {   
  67.         return unset($this->queue);   
  68.     }   
  69. }   
  70. ?>  

貌似用这四个函数就行

  1. array_push — 将一个或多个单元压入数组的末尾(入栈)  
  2. array_unshift — 在数组开头插入一个或多个单元  
  3. array_pop — 将数组最后一个单元弹出(出栈)  
  4. array_shift — 将数组开头的单元移出数组 
posted on 2011-09-19 05:35  之乎者也2011  阅读(468)  评论(0编辑  收藏  举报