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写的serv-u的web申请账号的程序
Oct 09 PHP
PHP+MYSQL 出现乱码的解决方法
Aug 08 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
Apr 11 PHP
PHP中输出转义JavaScript代码的实现代码
Apr 22 PHP
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
May 16 PHP
ThinkPHP模板中数组循环实例
Oct 30 PHP
PHP 绘制网站登录首页图片验证码
Apr 12 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
Sep 23 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
PHP如何获取Cookie并实现模拟登录
Jul 16 PHP
php的单例模式及应用场景详解
Feb 27 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 jq jquery getJSON跨域提交数据完整版
2013/09/13 PHP
php时间戳转换的示例
2014/03/31 PHP
destoon二次开发模板及调用语法汇总
2014/06/21 PHP
php打印输出棋盘的实现方法
2014/12/23 PHP
php mysql获取表字段名称和字段信息的三种方法
2016/11/13 PHP
PHP实现图片批量打包下载功能
2017/03/01 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
js 判断 enter 事件
2009/02/12 Javascript
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
javascript面向对象包装类Class封装类库剖析
2013/01/24 Javascript
jQuery函数的第二个参数获取指定上下文中的DOM元素
2014/05/19 Javascript
chrome调试javascript详解
2015/10/21 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
backbone简介_动力节点Java学院整理
2017/07/14 Javascript
Vue.js获取被选择的option的value和text值方法
2018/08/24 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
[20:30]职业巡回赛回顾
2018/08/09 DOTA
Python实现把xml或xsl转换为html格式
2015/04/08 Python
Python图片裁剪实例代码(如头像裁剪)
2017/06/21 Python
用Python实现大文本文件切割的方法
2019/01/12 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
Python实现转换图片背景颜色代码
2020/04/30 Python
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
如何提高SQL Server的安全性
2016/07/25 面试题
金士达面试非笔试
2012/03/14 面试题
厨师长岗位职责
2014/03/02 职场文书
签约仪式策划方案
2014/06/02 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
研究生给导师的自荐信
2015/03/06 职场文书
公司搬迁通知
2015/04/20 职场文书
微信小程序和php的登录实现
2021/04/01 PHP
Python装饰器的练习题
2021/11/23 Python
什么是SOLID
2022/03/24 Javascript