zoukankan      html  css  js  c++  java
  • php简单双向队列

    1. <?php   
    2.     class Deque{  
    3.   
    4.         public $queue = array();  
    5.   
    6.         /** 
    7.          * 尾部入对 
    8.          * @param [type] $value [description] 
    9.          */  
    10.         public function addLast($value){  
    11.             return array_push($this->queue,$value);  
    12.         }  
    13.   
    14.         /** 
    15.          * 尾部出队 
    16.          * @return [type] [description] 
    17.          */  
    18.         public function removeLast(){  
    19.             return array_pop($this->queue);  
    20.         }  
    21.   
    22.         /** 
    23.          * 头部入队 
    24.          * @param [type] $value [description] 
    25.          */  
    26.         public function addFirst($value){  
    27.             return array_unshift($this->queue, $value);  
    28.         }  
    29.   
    30.         /** 
    31.          * 头部出队 
    32.          * @return [type] [description] 
    33.          */  
    34.         public function removeFirst(){  
    35.             return array_shift($this->queue);  
    36.         }  
    37.   
    38.         /** 
    39.          * 清空队列 
    40.          * @return [type] [description] 
    41.          */  
    42.         public function makeEmpty(){  
    43.             unset($this->queue);  
    44.         }  
    45.   
    46.         /** 
    47.          * 获取列头 
    48.          * @return [type] [description] 
    49.          */  
    50.         public function getFirst(){  
    51.             return reset($this->queue);  
    52.         }  
    53.   
    54.         /** 
    55.          * 获取列尾 
    56.          * @return [type] [description] 
    57.          */  
    58.         public function getLast(){  
    59.             return end($this->queue);  
    60.         }  
    61.   
    62.         /** 
    63.          * 获取长度 
    64.          * @return [type] [description] 
    65.          */  
    66.         public function getLength(){  
    67.             return count($this->queue);  
    68.         }  
    69.     }  
    70.  ?>  

             使用示例:   

    1. <?php   
    2.     require_once('testQueue.php');  
    3.   
    4.     $queue = new Deque();  
    5.   
    6.     $queue->addLast('1');  
    7.     $queue->addLast('2');  
    8.     $queue->addLast('3');  
    9.     print_r('队列中的元素:'.json_encode($queue->queue));  
    10.   
    11.     $queue->addLast('4');  
    12.     print_r('尾部入队:'.json_encode($queue->queue));  
    13.   
    14.     $queue->removeLast();  
    15.     print_r('尾部出队:'.json_encode($queue->queue));  
    16.   
    17.     $queue->addFirst('0');  
    18.     print_r('头部入队:'.json_encode($queue->queue));  
    19.   
    20.     $queue->removeFirst();  
    21.     print_r('头部出队:'.json_encode($queue->queue));  
    22.   
    23.     print_r('获取列头:'.json_encode($queue->getFirst()));  
    24.     print_r('获取列尾:'.json_encode($queue->getLast()));  
    25.     print_r('获取长度:'.json_encode($queue->getLength()));  
    26.   
    27.     $queue->makeEmpty();  
    28.     print_r('清空队列:'.json_encode(isset($queue->queue)));  
    29.  ?> 
  • 相关阅读:
    1007 Maximum Subsequence Sum(25 分)
    1006 Sign In and Sign Out(25 分)
    1005 Spell It Right
    1004 Counting Leaves
    Struts10分钟入门
    MyBais入门
    Hibernate注解
    save,flush,evict
    HQL连接查询
    Hibernate-延迟加载和立即加载
  • 原文地址:https://www.cnblogs.com/wuhuan666/p/9036660.html
Copyright © 2011-2022 走看看