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查询域名状态whois的类
Nov 25 PHP
php中使用Akismet防止垃圾评论的代码
Jun 10 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
Apr 17 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
Jan 07 PHP
yii2控制器Controller Ajax操作示例
Jul 23 PHP
php实现PDO中捕获SQL语句错误的方法
Feb 16 PHP
PHP new static 和 new self详解
Feb 19 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
php微信公众号开发之答题连闯三关
Oct 20 PHP
PHP实现微信提现(企业付款到零钱)
Aug 01 PHP
laravel 实现登陆后返回登陆前的页面方法
Oct 03 PHP
浅谈laravel aliases别名的原理
Oct 24 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
编译问题
2006/10/09 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
CodeIgniter框架常见用法工作总结
2017/03/16 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
php中上传文件的的解决方案
2018/09/25 PHP
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
JS 实现Table相同行的单元格自动合并示例代码
2013/08/27 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
2014/04/12 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
全面解析Bootstrap表单使用方法(表单样式)
2015/11/24 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
2016/01/27 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
Javascript实现基本运算器
2017/07/15 Javascript
jQuery完成表单验证的实例代码(纯代码)
2017/09/30 jQuery
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
js实现鼠标点击页面弹出自定义文字效果
2019/12/24 Javascript
解决Can't find variable: SockJS vue项目的问题
2020/09/22 Javascript
python 算法 排序实现快速排序
2012/06/05 Python
python 有效的括号的实现代码示例
2019/11/11 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
Spy++的使用方法及下载教程
2021/01/29 Python
多视角3D逼真HTML5水波动画
2016/03/03 HTML / CSS
h5网页水印SDK的实现代码示例
2019/02/19 HTML / CSS
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
会计与出纳自荐书范文
2014/03/16 职场文书
班级读书活动总结
2014/06/30 职场文书
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
2015年采购工作总结
2015/04/10 职场文书
幼儿教师继续教育培训心得体会
2016/01/19 职场文书
Oracle 触发器trigger使用案例
2022/02/24 Oracle