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 相关文章推荐
PHP 缓存实现代码及详细注释
May 16 PHP
php学习之运算符相关概念
Jun 09 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
Jul 01 PHP
php socket客户端及服务器端应用实例
Jul 04 PHP
PHP经典面试题之设计模式(经常遇到)
Oct 15 PHP
thinkphp实现分页显示功能
Dec 03 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
PHP实现数据四舍五入的方法小结【4种方法】
Mar 27 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
Apr 09 PHP
laravel 使用事件系统统计浏览量的实现
Oct 16 PHP
php 利用socket发送GET,POST请求的实例代码
Jul 04 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插件Xajax使用方法详解
Aug 31 #PHP
php数据库的增删改查 php与javascript之间的交互
Aug 31 #PHP
You might like
php实现简单洗牌算法
2013/06/18 PHP
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
smarty中js的调用方法示例
2014/10/27 PHP
Zend Framework创建自己的动作助手详解
2016/03/05 PHP
php输出形式实例整理
2020/05/05 PHP
一种JavaScript的设计模式
2006/11/22 Javascript
jquery pagination插件实现无刷新分页代码
2009/10/13 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
树结构之JavaScript
2017/01/24 Javascript
jQuery使用方法
2017/02/04 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
H5手机端多文件上传预览插件
2017/04/21 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
详解AngularJS跨页面传值(ui-router)
2017/08/23 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
layer弹出层显示在top顶层的方法
2019/09/11 Javascript
微信小程序实现侧边分类栏
2019/10/21 Javascript
js实现九宫格布局效果
2020/05/28 Javascript
Python实现扫描局域网活动ip(扫描在线电脑)
2015/04/28 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
python smtplib发送带附件邮件小程序
2018/05/22 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
Django框架安装及项目创建过程解析
2020/09/14 Python
pandas针对excel处理的实现
2021/01/15 Python
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
澳大利亚女士时装在线:Rockmans
2018/09/26 全球购物
大专毕业生自我评价分享
2013/11/10 职场文书
会展中心部门工作职责
2013/11/27 职场文书
ktv收银员岗位职责
2013/12/16 职场文书
乡镇食品安全责任书
2014/07/28 职场文书
西游降魔篇观后感
2015/06/15 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
校园音乐节目广播稿
2015/08/19 职场文书
MySQL 语句执行顺序举例解析
2022/06/05 MySQL