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.MVC的模板标签系统(一)
Sep 05 PHP
PHP中的超全局变量
Oct 09 PHP
php4的彩蛋
Oct 09 PHP
几个学习PHP的网址
Nov 25 PHP
PHP简洁函数(PHP简单明了函数语法)
Jun 10 PHP
PHP容易忘记的知识点分享
Apr 30 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 PHP
destoon二次开发模板及调用语法汇总
Jun 21 PHP
深入理解PHP之OpCode原理详解
Jun 01 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 PHP
PHP代码重构方法漫谈
Apr 17 PHP
PHP容器类的两种实现方式示例
Jul 24 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
PHP Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
php中的单引号、双引号和转义字符详解
2017/02/16 PHP
新浪中用来显示flash的函数
2007/04/02 Javascript
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
微信小程序 wxapp内容组件 icon详细介绍
2016/10/31 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
Express URL跳转(重定向)的实现方法
2017/04/07 Javascript
nodejs实现简单的gulp打包
2017/12/21 NodeJs
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
vue router+vuex实现首页登录验证判断逻辑
2018/05/17 Javascript
JavaScript深拷贝和浅拷贝概念与用法实例分析
2018/06/07 Javascript
vue2.0的虚拟DOM渲染思路分析
2018/08/09 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
基于原生JS封装的Modal对话框插件的示例代码
2020/09/09 Javascript
[02:44]完美大师赛主赛事淘汰赛第二日观众采访
2017/11/24 DOTA
[52:10]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第二场 6.3
2018/06/04 DOTA
[01:25:33]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第二场 12.20
2020/12/23 DOTA
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
Win10下Python环境搭建与配置教程
2016/11/18 Python
深入理解python中的atexit模块
2017/03/07 Python
实例讲解python中的协程
2018/10/08 Python
django ManyToManyField多对多关系的实例详解
2019/08/09 Python
python 多进程队列数据处理详解
2019/12/23 Python
Python tkinter界面实现历史天气查询的示例代码
2020/08/23 Python
领导班子个人对照检查材料(群众路线)
2014/09/26 职场文书
学习社交礼仪心得体会
2016/01/22 职场文书
JavaScript 语句之常用 for 循环详解
2021/03/29 Javascript
Python自然语言处理之切分算法详解
2021/04/25 Python
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
2022/05/25 SQL Server
JavaScript中10个Reduce常用场景技巧
2022/06/21 Javascript