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函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
Jul 01 PHP
PHP中全局变量global和$GLOBALS[]的区别分析
Aug 06 PHP
探讨GDFONTPATH能否被winxp下的php支持
Jun 21 PHP
php中mail函数发送邮件失败的解决方法
Dec 24 PHP
php中instanceof 与 is_a()区别分析
Mar 03 PHP
PHP对象链式操作实现原理分析
Oct 09 PHP
YII框架中搜索分页jQuery写法详解
Dec 19 PHP
PHP 文件上传后端处理实用技巧方法
Jan 06 PHP
php获取今日开始时间和结束时间的方法
Feb 27 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
Apr 04 PHP
PHP中关键字interface和implements详解
Jun 14 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
Mar 29 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
使用php4加速网络传输
2006/10/09 PHP
利用php输出不同的心形图案
2016/04/22 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
简单三步,搞掂内存泄漏
2007/03/10 Javascript
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
2013/08/13 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
JS 删除字符串最后一个字符的实现代码
2014/02/20 Javascript
用svg制作富有动态的tooltip
2015/07/17 Javascript
js事件冒泡、事件捕获和阻止默认事件详解
2016/08/04 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
mui 打开新窗口的方式总结及注意事项
2017/08/20 Javascript
浅谈node模块与npm包管理工具
2018/01/03 Javascript
详解Vue CLI 3.0脚手架如何mock数据
2018/11/23 Javascript
微信小程序地图(map)组件点击(tap)获取经纬度的方法
2019/01/10 Javascript
原生js实现日历效果
2020/03/02 Javascript
Python算法之栈(stack)的实现
2014/08/18 Python
Python中__new__与__init__方法的区别详解
2015/05/04 Python
Python实现建立SSH连接的方法
2015/06/03 Python
基于Python3 逗号代码 和 字符图网格(详谈)
2017/06/22 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
NumPy 如何生成多维数组的方法
2018/02/05 Python
pycharm快捷键汇总
2020/02/14 Python
Python安装第三方库攻略(pip和Anaconda)
2020/10/15 Python
python pillow库的基础使用教程
2021/01/13 Python
史泰博(Staples)中国官方网站:办公用品一站式采购
2016/09/05 全球购物
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
Ryderwear美国官网:澳大利亚高端健身训练装备品牌
2018/04/24 全球购物
英国工作场所设备购买网站:Slingsby
2019/05/03 全球购物
办理房产证委托书
2014/09/18 职场文书
六一活动主持词
2015/06/30 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
创业计划书之酒吧
2019/12/02 职场文书
使用MybatisPlus打印sql语句
2022/04/22 SQL Server
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS