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 相关文章推荐
PHP4和PHP5性能测试和对比 测试代码与环境
Aug 17 PHP
PHP字符编码问题之GB2312 VS UTF-8解决方法
Jun 23 PHP
php变量作用域的深入解析
Jun 03 PHP
解析MySql与Java的时间类型
Jun 22 PHP
纯PHP生成的一个树叶图片画图例子
Apr 16 PHP
Laravel框架中实现使用阿里云ACE缓存服务
Feb 10 PHP
php判断邮箱地址是否存在的方法
Feb 13 PHP
功能强大的PHP发邮件类
Aug 29 PHP
PHP实现ASCII码与字符串相互转换的方法
Apr 29 PHP
php使用fullcalendar日历插件详解
Mar 06 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
Jul 13 PHP
PhpStorm连接服务器并实现自动上传功能
Dec 09 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利用事务处理转账问题
2015/04/22 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
javascript中万恶的function实例分析
2011/05/25 Javascript
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
2011/07/27 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
2014/04/18 Javascript
Javscript调用iframe框架页面中函数的方法
2014/11/01 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
JavaScript canvas实现围绕旋转动画
2017/11/18 Javascript
Angular中支持SCSS的方法
2017/11/18 Javascript
详解Angular5路由传值方式及其相关问题
2018/04/28 Javascript
Vue如何实现响应式系统
2018/07/11 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
React+TypeScript+webpack4多入口配置详解
2019/08/08 Javascript
vue data对象重新赋值无效(未更改)的解决方式
2020/07/24 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
Python def函数的定义、使用及参数传递实现代码
2014/08/10 Python
python通过exifread模块获得图片exif信息的方法
2015/03/16 Python
用Python编写web API的教程
2015/04/30 Python
python简单的函数定义和用法实例
2015/05/07 Python
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
Python3简单实现串口通信的方法
2019/06/12 Python
python pytest进阶之conftest.py详解
2019/06/27 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
python实现网页录音效果
2020/10/26 Python
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
Vans荷兰官方网站:美国南加州的原创极限运动潮牌
2018/01/23 全球购物
Unix里面如何在后台运行程序
2016/10/14 面试题
红领巾广播站广播稿
2014/02/01 职场文书
暑期社会实践先进个人主要事迹
2014/05/22 职场文书
财务会计专业求职信
2014/06/09 职场文书
关于安全的标语
2014/06/10 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书
教你修复 Win11应用商店加载空白问题
2021/12/06 数码科技
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers