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 adodb操作mysql数据库
Mar 19 PHP
PHP Session变量不能传送到下一页的解决方法
Nov 27 PHP
PHP 引用是个坏习惯
Mar 12 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
php中神奇的fastcgi_finish_request
May 02 PHP
19个超实用的PHP代码片段
Mar 14 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
May 12 PHP
thinkphp自带验证码全面解析
Sep 18 PHP
PHP快速排序quicksort实例详解
Sep 28 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
Apr 03 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
自己前几天写的无限分类类
2007/02/14 PHP
php中根据某年第几天计算出日期年月日的代码
2011/02/24 PHP
PHP框架Swoole定时器Timer特性分析
2014/08/19 PHP
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
js 实现无干扰阴影效果 简单好用(附文件下载)
2009/12/27 Javascript
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
js 将json字符串转换为json对象的方法解析
2013/11/13 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
jquery实现类似淘宝星星评分功能实例
2014/09/12 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
2015/03/03 Javascript
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
2016/11/21 NodeJs
JS 调用微信扫一扫功能
2016/12/22 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
js获取一组日期中最近连续的天数
2017/05/25 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
VueJs监听window.resize方法示例
2018/01/17 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
2019/01/03 Javascript
js尾调用优化的实现
2019/05/23 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
python对excel文档去重及求和的实例
2018/04/18 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
python 对类的成员函数开启线程的方法
2019/01/22 Python
解决Python对齐文本字符串问题
2019/08/28 Python
Python如何获取文件指定行的内容
2020/05/27 Python
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
校园自助餐厅的创业计划书
2013/12/26 职场文书
计算机毕业生求职信
2014/06/10 职场文书
2014年“四风”问题个人整改措施
2014/09/17 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
高一英语教学反思
2016/03/03 职场文书
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python