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+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
Mar 07 PHP
discuz7 phpMysql操作类
Jun 21 PHP
php中unlink()、mkdir()、rmdir()等方法的使用介绍
Dec 21 PHP
php在线解压ZIP文件的方法
Dec 30 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
Dec 14 PHP
php获取当前页面完整URL地址
Dec 30 PHP
php 使用curl模拟登录人人(校内)网的简单实例
Jun 06 PHP
使用正则去除php代码中的注释方法
Nov 03 PHP
php获取POST数据的三种方法实例详解
Dec 20 PHP
PHP Laravel中的Trait使用方法
Jan 20 PHP
详解如何实现Laravel的服务容器的方法示例
Apr 15 PHP
php的命名空间与自动加载实现方法
Aug 25 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 多维数组排序(usort,uasort)
2010/06/30 PHP
php将时间差转换为字符串提示
2011/09/07 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
使用ucenter实现多站点同步登录的讲解
2019/03/21 PHP
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
Jquery easyUI 更新行示例
2014/03/06 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
2014/12/16 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
Angularjs手动解析表达式($parse)
2016/10/12 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
2017/07/13 Javascript
jQuery实现图片简单轮播功能示例
2018/08/13 jQuery
解决vue props 拿不到值的问题
2018/09/11 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
写gulp遇到的ES6问题详解
2018/12/03 Javascript
原生js实现移动端Touch轮播图的方法步骤
2019/01/03 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
Python爬虫requests库多种用法实例
2020/05/28 Python
CSS3之边框多颜色Border-color属性使用示例
2013/10/11 HTML / CSS
澳大利亚波西米亚风连衣裙在线商店:Fortunate One
2019/04/01 全球购物
总经理助理岗位职责范本
2015/03/31 职场文书
研究生论文答辩开场白
2015/05/27 职场文书
学校证明范文
2015/06/24 职场文书
护士年终工作总结不会写?各科护士模板总结
2020/01/02 职场文书
MySQL库表名大小写的选择
2021/06/05 MySQL
python获取字符串中的email
2022/03/31 Python
Spring Boot实现文件上传下载
2022/08/14 Java/Android