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 相关文章推荐
我的论坛源代码(六)
Oct 09 PHP
PHP输入流php://input介绍
Sep 18 PHP
PHP 获取远程文件大小的3种解决方法
Jul 11 PHP
一个简单且很好用的php分页类
Oct 26 PHP
Drupal读取Excel并导入数据库实例
Mar 02 PHP
如何使用Gitblog和Markdown建自己的博客
Jul 31 PHP
Thinkphp批量更新数据的方法汇总
Jun 29 PHP
php的PDO事务处理机制实例分析
Feb 16 PHP
PHP lcfirst()函数定义与用法
Mar 08 PHP
PHP CURL使用详解
Mar 21 PHP
RSA实现JS前端加密与PHP后端解密功能示例
Aug 05 PHP
Laravel框架控制器,视图及模型操作图文详解
Dec 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适配器模式介绍
2012/08/14 PHP
php通过session防url攻击方法
2014/12/10 PHP
php微信开发接入
2016/08/27 PHP
AJAX的使用方法详解
2017/04/29 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
2019/05/08 PHP
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
jquery Moblie入门—hello world的示例代码学习
2013/01/08 Javascript
javascript中style.left和offsetLeft的用法说明
2014/03/07 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
2016/06/13 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
bootstrap日期插件daterangepicker使用详解
2017/10/19 Javascript
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
2017/10/19 jQuery
nodejs简单实现TCP服务器端和客户端的聊天功能示例
2018/01/04 NodeJs
快速解决Vue项目在IE浏览器中显示空白的问题
2018/09/04 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
通过Kettle自定义jar包供javascript使用
2020/01/29 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
python中is与双等于号“==”的区别示例详解
2017/11/21 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
对python中UDP,socket的使用详解
2019/08/22 Python
HTML5 canvas基本绘图之绘制线段
2016/06/27 HTML / CSS
团员的自我评价
2013/12/01 职场文书
经验丰富大学生村干部自我鉴定
2014/01/22 职场文书
小班开学寄语
2014/04/04 职场文书
法语专业求职信
2014/07/20 职场文书
镇创先争优活动总结
2014/08/28 职场文书
教师辞职书范文
2015/02/26 职场文书
十八大观后感
2015/06/12 职场文书
2015最新民情日记范文
2015/06/26 职场文书
Java存储没有重复元素的数组
2022/04/29 Java/Android