php 数据结构之链表队列


Posted in PHP onOctober 17, 2017

php 链表队列

实例代码:

class Queue{ 
  
  private $last; 
  private $first; 
  private $oldfirst; 
  private static $n=0; 
   
  public function __construct(){ 
    $this->last   = null; 
    $this->first  = null; 
    $this->oldfirst = null; 
  } 
   
  public function push($item){ 
    $this->oldfirst = $this->last; 
    $this->last = new Node(); 
    $this->last->item = $item; 
    $this->last->next = null; 
    if(empty($this->first)){ 
      $this->first = $this->last; 
    }else{ 
      $this->oldfirst->next = $this->last; 
    } 
    self::$n++; 
  } 
   
  public function pop(){ 
    if(self::$n<0){ 
      return null; 
    } 
    $item = $this->first->item; 
    $this->first = $this->first->next; 
    self::$n--; 
    return $item; 
  } 
   
} 
 
class Node{ 
  public $item; 
  public $next; 
} 
 
$Queue = new Queue(); 
$Queue->push("a"); 
$Queue->push("b"); 
$Queue->push("c"); 
echo $Queue->pop().PHP_EOL; 
echo $Queue->pop().PHP_EOL; 
echo $Queue->pop().PHP_EOL; 
echo $Queue->pop().PHP_EOL;

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
PHP采集相关教程之一 CURL函数库
Feb 15 PHP
php获取URL中带#号等特殊符号参数的解决方法
Sep 02 PHP
基于PHP实现简单的随机抽奖小程序
Jan 05 PHP
php pthreads多线程的安装与使用
Jan 19 PHP
简单谈谈php浮点数精确运算
Mar 10 PHP
关于php中一些字符串总结
May 05 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
Dec 25 PHP
php获取客户端IP及URL的方法示例
Feb 03 PHP
PHP实现生成模糊图片的方法示例
Dec 21 PHP
PHP curl批处理及多请求并发实现方法分析
Aug 15 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
Jun 05 PHP
PHP实现的贪婪算法实例
Oct 17 #PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
Oct 17 #PHP
PHP实现统计所有字符在字符串中出现次数的方法
Oct 17 #PHP
基于PHP-FPM进程池探秘
Oct 17 #PHP
PHP-X系列教程之内置函数的使用示例
Oct 16 #PHP
php封装单文件上传到数据库(路径)
Oct 15 #PHP
PHP多进程编程之僵尸进程问题的理解
Oct 15 #PHP
You might like
laravel手动创建数组分页的实现代码
2018/06/07 PHP
javascript优先加载笔记代码
2008/09/30 Javascript
$.format,jquery.format 使用说明
2011/07/13 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
使用forever管理nodejs应用教程
2014/06/03 NodeJs
JavaScript汉诺塔问题解决方法
2015/04/21 Javascript
一步步教大家编写酷炫的导航栏js+css实现
2016/03/14 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
2017/01/24 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
2017/08/03 Javascript
AngularJS 的$timeout服务示例代码
2017/09/21 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
2017/10/20 jQuery
JavaScript判断数组类型的方法
2019/10/23 Javascript
echarts实现折线图的拖拽效果
2019/12/19 Javascript
JS实现超级好看的鼠标小尾巴特效
2020/12/01 Javascript
[38:32]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第二局
2016/02/26 DOTA
[04:11]DOTA2上海特级锦标赛主赛事首日TOP10
2016/03/03 DOTA
进一步了解Python中的XML 工具
2015/04/13 Python
Python with用法实例
2015/04/14 Python
Python中Continue语句的用法的举例详解
2015/05/14 Python
Python+Opencv识别两张相似图片
2020/03/23 Python
Python pymongo模块常用操作分析
2018/09/01 Python
Python 画出来六维图
2019/07/26 Python
Python中的相关分析correlation analysis的实现
2019/08/29 Python
python查看矩阵的行列号以及维数方式
2020/05/22 Python
详解Django中异步任务之django-celery
2020/11/05 Python
Matplotlib配色之Colormap详解
2021/01/05 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
Delphi软件工程师试题
2013/01/29 面试题
道德模范先进事迹
2014/02/14 职场文书
供电工程专业求职信
2014/08/09 职场文书
公司人事专员岗位职责
2014/08/11 职场文书
行政撤诉申请书
2015/05/18 职场文书
基于CSS3画一个iPhone
2021/04/21 HTML / CSS