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生成Flash动画的实现代码
Mar 12 PHP
30 个很棒的PHP开源CMS内容管理系统小结
Oct 14 PHP
mantis安装、配置和使用中的问题小结
Jul 14 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
Aug 18 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 PHP
golang 调用 php7详解及实例
Jan 04 PHP
php实现微信扫码支付
Mar 26 PHP
LNMP部署laravel以及xhprof安装使用教程
Sep 14 PHP
PHP设计模式之状态模式定义与用法详解
Apr 02 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
May 10 PHP
php微信公众号开发之音乐信息
Oct 20 PHP
laravel5.1框架model类查询的实现方法
Oct 08 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 fckeditor 调用的函数
2009/06/21 PHP
黑夜路人出的几道php笔试题
2009/08/04 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
轻松创建nodejs服务器(5):事件处理程序
2014/12/18 NodeJs
javascript中Object使用详解
2015/01/26 Javascript
javascript的变量、传值、传址、参数之间关系
2015/07/26 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
BootStrap Typeahead自动补全插件实例代码
2016/08/10 Javascript
Javascript中return的使用与闭包详解
2017/01/11 Javascript
bootstrap栅格系统示例代码分享
2017/05/22 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
查找Vue中下标的操作(some和findindex)
2020/08/12 Javascript
Python网络爬虫神器PyQuery的基本使用教程
2018/02/03 Python
Django实现全文检索的方法(支持中文)
2018/05/14 Python
Python使用matplotlib和pandas实现的画图操作【经典示例】
2018/06/13 Python
Django跨域请求问题的解决方法示例
2018/06/16 Python
Python实现查找字符串数组最长公共前缀示例
2019/03/27 Python
Linux下远程连接Jupyter+pyspark部署教程
2019/06/21 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
Django 路由控制的实现
2019/07/17 Python
python字典setdefault方法和get方法使用实例
2019/12/25 Python
Python执行时间的几种计算方法
2020/07/31 Python
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
美国家具网站:Cymax
2016/09/17 全球购物
机械设计制造专业个人求职信
2013/09/25 职场文书
我的中国梦演讲稿1000字
2014/08/19 职场文书
理想国读书笔记
2015/06/25 职场文书
采购部年度工作总结
2015/08/13 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
解决Go gorm踩过的坑
2021/04/30 Golang
只用40行Python代码就能写出pdf转word小工具
2021/05/31 Python
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript