首页 > 代码库 > 栈和队列的实现(PHP)
栈和队列的实现(PHP)
最近经常被问栈和队列的算法题,以前对链表,二叉树有了解,栈和队列感觉有点迷糊,后来查看了后,发现就是利用数组模拟先进先出和先进后出的情况。
瞬间感觉问这个不如问链表呢。
下面回归正题:先看栈
<?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)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。