PHP实现的链式队列结构示例


Posted in PHP onSeptember 15, 2017

本文实例讲述了PHP实现的链式队列结构。分享给大家供大家参考,具体如下:

<?php
header("Content-Type:text/html;charset=utf-8");
/**
 * 链式队列
 */
class node{
  public $nickname;
  public $next;
}
class queue
{
  public $front;//头部
  public $tail;//尾部
  public $maxSize;//容量
  public $next;//指针
  public $len=0;//长度
  public function __construct($size)
  {
    $this->init($size);
  }
  public function init($size)
  {
    $this->front = $this;
    $this->tail = $this;
    $this->maxSize = $size;
  }
  //入队操作
  public function inQ($nickname)
  {
    $node = new node();
    $node->nickname = $nickname;
    if ($this->len==$this->maxSize)
    {
      echo '队满了</br>';
    } else {
      $this->tail = $node;
      $this->tail->next = $node;
      $this->len++;
      echo $node->nickname.'入队成功</br>';
    }
  }
  //出队操作
  public function outQ()
  {
    if ($this->len==0)
    {
      echo '队空了</br>';
    } else {
      $p = $this->front->next;
      $this->front->next = $p->next;
      $this->len--;
      echo $p->nickname.'出队成功</br>';
    }
  }
  //打印队
  public function show()
  {
    for ($i=$this->len;$i>0;$i--)
    {
      $this->outQ();
    }
  }
}
echo "**********入队操作******************</br>";
$q = new queue(5);
$q->inQ('入云龙');
$q->inQ('花和尚');
$q->inQ('青面兽');
$q->inQ('行者');
$q->inQ('玉麒麟');
$q->inQ('母夜叉');
echo "**********出队队操作******************</br>";
$q->outQ();
$q->outQ();
$q->outQ();
$q->outQ();
$q->inQ('操刀鬼');
$q->inQ('截江鬼');
$q->inQ('赤发鬼');
$q->outQ();
?>

运行结果:

PHP实现的链式队列结构示例

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
收集的DedeCMS一些使用经验
Mar 17 PHP
PHP $_FILES函数详解
Mar 09 PHP
php class中self,parent,this的区别以及实例介绍
Apr 24 PHP
解析PHP的session过期设置
Jun 29 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
Jun 09 PHP
PHPMailer发送HTML内容、带附件的邮件实例
Jul 01 PHP
ThinkPHP字符串函数及常用函数汇总
Jul 18 PHP
php中Session的生成机制、回收机制和存储机制探究
Aug 19 PHP
PHP实现定时执行任务的方法
Oct 05 PHP
CI框架中cookie的操作方法分析
Dec 12 PHP
phplot生成图片类用法详解
Jan 06 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
Nov 22 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 #PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 #PHP
visual studio code 调试php方法(图文详解)
Sep 15 #PHP
PHP简单实现模拟登陆功能示例
Sep 15 #PHP
Thinkphp开发--集成极光推送
Sep 15 #PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
Sep 15 #PHP
Laravel框架用户登陆身份验证实现方法详解
Sep 14 #PHP
You might like
PHP写UltraEdit插件脚本实现方法
2011/12/26 PHP
关于PHPDocument 代码注释规范的总结
2013/06/25 PHP
Joomla框架实现字符串截取的方法示例
2017/07/18 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
Prototype 工具函数 学习
2009/07/23 Javascript
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
Node+Express+MongoDB实现登录注册功能实例
2017/04/23 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
深入了解JavaScript代码覆盖
2019/06/13 Javascript
通过实例了解JS执行上下文运行原理
2020/06/17 Javascript
[47:20]DAC2018 4.4 淘汰赛 Optic vs Mineski 第一场
2018/04/05 DOTA
Python 中 Meta Classes详解
2016/02/13 Python
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
python实现上传下载文件功能
2020/11/19 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
全球最大运动品牌的男装、女装和童装官方库存商:A&A Sports
2021/01/17 全球购物
盛大笔试题
2016/11/05 面试题
Ajxa常见问题都有哪些
2014/03/26 面试题
销售人员自我评价怎么写
2013/09/19 职场文书
大学生就业自我鉴定
2013/10/26 职场文书
八年级历史教学反思
2014/01/10 职场文书
如何编写优秀的食品项目创业计划书
2014/01/23 职场文书
2014班子“三严三实”对照检查材料思想汇报
2014/09/18 职场文书
法定授权委托证明书
2014/09/27 职场文书
协议书范文
2015/01/27 职场文书
红色革命电影观后感
2015/06/18 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书