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实现ftp上传文件示例
Aug 21 PHP
php将HTML表格每行每列转为数组实现采集表格数据的方法
Apr 03 PHP
php常用表单验证类用法实例
Jun 18 PHP
PHP生成随机密码方法汇总
Aug 27 PHP
php生成图片验证码的方法
Apr 15 PHP
PHP中new static()与new self()的比较
Aug 19 PHP
php smtp实现发送邮件功能
Jun 22 PHP
PHP设计模式之模板方法模式定义与用法详解
Apr 02 PHP
PHP创建对象的六种方式实例总结
Jun 27 PHP
Yii框架常见缓存应用实例小结
Sep 09 PHP
laravel5.2表单验证,并显示错误信息的实例
Sep 29 PHP
laravel自定义分页的实现案例offset()和limit()
Oct 15 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
PHP连接access数据库
2008/03/27 PHP
php adodb介绍
2009/03/19 PHP
php程序效率优化的一些策略小结
2010/07/17 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
2016/02/15 PHP
php实现学生管理系统
2020/03/21 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
读jQuery之一(对象的组成)
2011/06/11 Javascript
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
原生Javascript封装的一个AJAX函数分享
2014/10/11 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
2018/06/25 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
python和pyqt实现360的CLable控件
2014/02/21 Python
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
基于python的字节编译详解
2017/09/20 Python
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
将python安装信息加入注册表的示例
2019/11/20 Python
解决windows下python3使用multiprocessing.Pool出现的问题
2020/04/08 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
澳洲健康食品网上商店:Aussie Health Products
2018/06/15 全球购物
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
shallow copy和deep copy的区别
2016/05/09 面试题
毕业生护理专业个人求职信范文
2014/01/04 职场文书
宣传策划类求职信范文
2014/01/31 职场文书
旷课检讨书3000字
2014/02/04 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
2015年少先队活动总结
2015/03/25 职场文书
2016年优秀团员事迹材料
2016/02/25 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
mysql5.5中文乱码问题解决的有用方法
2022/05/30 MySQL