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 相关文章推荐
UTF8编码内的繁简转换的PHP类
Jul 09 PHP
PHP 各种排序算法实现代码
Aug 20 PHP
php中防止恶意刷新页面的代码小结
Oct 31 PHP
discuz加密解密函数使用方法和中文注释
Jan 21 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
Sep 02 PHP
PHP关联数组实现根据元素值删除元素的方法
Jun 26 PHP
PHP HTTP 认证实例详解
Nov 03 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
php+lottery.js实现九宫格抽奖功能
Jul 21 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
Oct 10 PHP
laravel 执行迁移回滚示例
Oct 23 PHP
php 原生分页
Apr 01 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使用redis实现统计缓存mysql压力的方法
2015/11/14 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
2016/04/25 PHP
phpstudy2018升级MySQL5.5为5.7教程(图文)
2018/10/24 PHP
js的闭包的一个示例说明
2008/11/18 Javascript
js获取select标签的值且兼容IE与firefox
2013/12/30 Javascript
JQuery中阻止事件冒泡几种方式及其区别介绍
2014/01/15 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
Node.js node-schedule定时任务隔多少分钟执行一次的方法
2015/02/10 Javascript
微信企业号开发之微信考勤百度地图定位
2015/09/11 Javascript
JS实现Fisheye效果动感放大菜单代码
2015/10/21 Javascript
JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
2016/05/28 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
详谈JavaScript的闭包及应用
2017/01/17 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
详解Vue项目中出现Loading chunk {n} failed问题的解决方法
2018/09/14 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
python爬虫添加请求头代码实例
2019/12/28 Python
windows10环境下用anaconda和VScode配置的图文教程
2020/03/30 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
CSS3实现可关闭的下拉手风琴菜单效果
2015/08/31 HTML / CSS
VSCode 自定义html5模板的实现
2019/12/05 HTML / CSS
Agoda西班牙:全球特价酒店预订
2017/06/03 全球购物
英国在线药房:Express Chemist
2019/03/28 全球购物
会话Bean的种类
2013/11/07 面试题
学生实习自我鉴定
2013/10/11 职场文书
中学生个人自我评价
2014/02/06 职场文书
食品安全宣传标语
2014/06/07 职场文书
2015年中秋晚会主持词
2015/07/01 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书
WebWorker 封装 JavaScript 沙箱详情
2021/11/02 Javascript
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫
windows系统搭建WEB服务器详细教程
2022/08/05 Servers