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 相关文章推荐
搜索和替换文件或目录的一个好类--很实用
Oct 09 PHP
phpMyAdmin 安装配置方法和问题解决
Jun 08 PHP
解析Win7 XAMPP apache无法启动的问题
Jun 26 PHP
php单态设计模式(单例模式)实例
Nov 18 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
Jun 10 PHP
header与缓冲区之间的深层次分析
Jul 30 PHP
php 的反射详解及示例代码
Aug 25 PHP
Laravel框架文件上传功能实现方法示例
Apr 16 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
May 08 PHP
用php定义一个数组最简单的方法
Oct 04 PHP
laravel 判断查询数据库返回值的例子
Oct 11 PHP
Laravel 读取 config 下的数据方法
Oct 13 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
Laravel框架中缓存的使用方法分析
2019/09/06 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
laravel框架实现敏感词汇过滤功能示例
2020/02/15 PHP
JS解密入门 最终变量劫持
2008/06/25 Javascript
文本框的字数限制功能jquery插件
2009/11/24 Javascript
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
javascript读取xml实现javascript分页
2013/12/13 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
自定义刻度jQuery进度条及插件
2015/09/02 Javascript
jQuery EasyUI 布局之动态添加tabs标签页
2015/11/18 Javascript
Vue应用部署到服务器的正确方式
2017/07/15 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
2017/09/30 Javascript
iView框架问题整理小结
2018/10/16 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
js中Function引用类型常见有用的方法和属性详解
2019/12/11 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
[43:14]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
[01:18:31]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第一场 1月10日
2021/03/11 DOTA
Python中标准模块importlib详解
2017/04/16 Python
解决python 输出是省略号的问题
2018/04/19 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
台湾母婴用品购物网站:Infant婴之房
2018/06/15 全球购物
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
介绍一下SQL注入攻击的种类和防范手段
2012/02/18 面试题
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
安全保证书范文
2014/04/29 职场文书
2014学习优秀共产党员先进事迹思想汇报
2014/09/14 职场文书
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
就业意向协议书
2015/01/29 职场文书
Elasticsearch 配置详解
2022/04/19 Java/Android