码迷,mamicode.com
首页 > Web开发 > 详细

栈和队列的实现(PHP)

时间:2017-06-19 19:49:45      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:先进先出   sel   else   php   public   二叉树   pop   logs   了解   

最近经常被问栈和队列的算法题,以前对链表,二叉树有了解,栈和队列感觉有点迷糊,后来查看了后,发现就是利用数组模拟先进先出和先进后出的情况。

瞬间感觉问这个不如问链表呢。

下面回归正题:先看栈

<?php

 class Stack{
     public static $dataInfo =  array();
     public static $theMax= 10;
     public static $length=0;
    // public static $stackInfo;

     public function addData($data){
         if(self::$length >= self::$theMax){
             return false;
         }else{
           array_push(self::$dataInfo,$data);
           self::$length ++; 
         }
         
     }
     public function outData(){
         if(self::$length<=0 ){
             
             return false;
         }else{
            $data = array_pop(self::$dataInfo);
            self::$length --;
             return $data;
         }
         
         
     }
     
     public function getAll(){
         foreach (self::$dataInfo as $value) {
             // code..
             print_r($value);
         }
     }
     
 }
$a = new Stack();
$a->addData(1);
$a->addData(3);
$a->addData(5);
$a->getAll();
print_r($a->outData());


?>

同理,队列也是一样的 只不过可以把array_pop()换成array_shift()。

有什么问题欢迎随时提问。

栈和队列的实现(PHP)

标签:先进先出   sel   else   php   public   二叉树   pop   logs   了解   

原文地址:http://www.cnblogs.com/muzidiandian/p/7049968.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!