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 相关文章推荐
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
Jan 06 PHP
基于Zend的Captcha机制的应用
May 02 PHP
使用session判断用户登录用户权限(超简单)
Jun 08 PHP
sql注入与转义的php函数代码
Jun 17 PHP
php curl_init函数用法
Jan 31 PHP
PHP反向代理类代码
Aug 15 PHP
php操作csv文件代码实例汇总
Sep 22 PHP
php魔术函数__call()用法实例分析
Feb 13 PHP
php实现复制移动文件的方法
Jul 29 PHP
php+html5实现无刷新图片上传教程
Jan 22 PHP
详解PHP匿名函数与注意事项
Mar 29 PHP
Thinkphp5框架使用validate实现验证功能的方法
Aug 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生成图片验证码
2015/06/09 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
2015/12/10 PHP
jquery可见性过滤选择器使用示例
2013/06/24 Javascript
html向js方法传递参数具体实现
2013/08/08 Javascript
js读取配置文件自写
2014/02/11 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
JavaScript中使用自然对数ln的方法
2015/06/14 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
利用fecha进行JS日期处理
2016/11/21 Javascript
javascript中BOM基础知识总结
2017/02/14 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
详解webpack打包vue时提取css
2017/05/26 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
4 种滚动吸顶实现方式的比较
2019/04/09 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
python 实时遍历日志文件
2016/04/12 Python
python 3调用百度OCR API实现剪贴板文字识别
2018/09/04 Python
在Pycharm中项目解释器与环境变量的设置方法
2018/10/29 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
python opencv实现证件照换底功能
2019/08/19 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
Pycharm 安装 idea VIM插件的图文教程详解
2020/02/21 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
利于python脚本编写可视化nmap和masscan的方法
2020/12/29 Python
pycharm 实现复制一行的快捷键
2021/01/15 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
全球知名旅游社区法国站点:TripAdvisor法国
2016/08/03 全球购物
草莓网化妆品日本站:Strawberrynet日本
2017/10/20 全球购物
Expedia西班牙:预订酒店、机票、旅行和廉价度假套餐
2019/04/10 全球购物
内刊编辑求职自荐书范文
2014/02/19 职场文书
人力资源管理求职信
2014/08/07 职场文书
会计工作态度自我评价
2015/03/06 职场文书
高中升旗仪式主持词
2015/07/03 职场文书