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在线生成二维码代码(google api)
Jun 03 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
Nov 06 PHP
php保存信息到当前Session的方法
Mar 16 PHP
PHP实现递归复制整个文件夹的类实例
Aug 03 PHP
两款万能的php分页类
Nov 12 PHP
基于PHP实现通过照片获取ip地址
Apr 26 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
Sep 22 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
Nov 14 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
Feb 10 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
PHP whois查询类定义与用法示例
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
php项目中百度 UEditor 简单安装调试和调用
2015/07/15 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
学习ExtJS border布局
2009/10/08 Javascript
锋利的jQuery 要点归纳(二) jQuery中的DOM操作(下)
2010/03/23 Javascript
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
JS和函数式语言的三特性
2014/03/05 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
基于JavaScript实现焦点图轮播效果
2017/03/27 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
React简单介绍
2017/05/24 Javascript
深究AngularJS中$sce的使用
2017/06/12 Javascript
利用js将ajax获取到的后台数据动态加载至网页中的方法
2018/08/08 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
Python3.x和Python2.x的区别介绍
2013/02/12 Python
Linux系统上Nginx+Python的web.py与Django框架环境
2015/12/25 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
Python RabbitMQ消息队列实现rpc
2018/05/30 Python
numpy.transpose()实现数组的转置例子
2019/12/02 Python
Python random模块制作简易的四位数验证码
2020/02/01 Python
python 发送get请求接口详解
2020/11/17 Python
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
Marriott国际:万豪国际酒店查询预订
2017/09/25 全球购物
全球性的女装店:storets
2019/06/12 全球购物
高二政治教学反思
2014/02/01 职场文书
班班通项目实施方案
2014/02/25 职场文书
终止劳动合同协议书
2014/04/14 职场文书
本科毕业生自荐信
2014/06/02 职场文书
联谊活动总结
2014/08/28 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书
放弃继承权公证书
2015/01/23 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
2016新教师岗前培训心得体会
2016/01/08 职场文书
2016简单的租房合同范本
2016/03/18 职场文书
Python实现socket库网络通信套接字
2021/06/04 Python