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常用函数 推荐收藏保存
Feb 21 PHP
两种设置php载入页面时编码的方法
Jul 29 PHP
php启用sphinx全文搜索的实现方法
Dec 24 PHP
php防止sql注入简单分析
Mar 18 PHP
php实现的RSS生成类实例
Apr 23 PHP
phpcms手机内容页面添加上一篇和下一篇
Jun 05 PHP
php socket通信(tcp/udp)实例分析
Feb 14 PHP
php获取一定范围内取N个不重复的随机数
May 28 PHP
phpcms配置列表页以及获得文章发布时间
Jul 04 PHP
php二维数组按某个键值排序的实例讲解
Feb 15 PHP
php和asp语法上的区别总结
May 12 PHP
php查看一个变量的占用内存的实例代码
Mar 29 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
Javascript miscellanea -display data real time, using window.status
2007/01/09 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
2010/03/24 Javascript
JSON无限折叠菜单编写实例
2013/12/16 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
JQuery创建DOM节点的方法
2015/06/11 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
js实现canvas保存图片为png格式并下载到本地的方法
2017/08/31 Javascript
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
详解Vue单元测试Karma+Mocha学习笔记
2018/01/31 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
node和vue实现商城用户地址模块
2018/12/05 Javascript
详解JavaScript函数callee、call、apply的区别
2019/03/08 Javascript
Python中使用urllib2防止302跳转的代码例子
2014/07/07 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
python字符串常用方法
2018/06/14 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
pandas中的series数据类型详解
2019/07/06 Python
python科学计算之narray对象用法
2019/11/25 Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
2020/03/09 Python
在python中list作函数形参,防止被实参修改的实现方法
2020/06/05 Python
python 利用百度API识别图片文字(多线程版)
2020/12/14 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
用HTML5中的Canvas结合公式绘制粒子运动的教程
2015/05/08 HTML / CSS
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
The Hut英国:英国领先的豪华在线百货商店
2019/07/26 全球购物
介绍一下Linux文件的记录形式
2013/09/29 面试题
项目资料员岗位职责
2013/12/10 职场文书
药店主任岗位责任制
2014/02/10 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
2014年党员自我评议(5篇)
2014/09/12 职场文书
保证金退回承诺函格式
2015/01/21 职场文书
MySQL中order by的使用详情
2021/11/17 MySQL