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后台如何避免用户直接进入方法实例
Oct 15 PHP
ThinkPHP框架实现session跨域问题的解决方法
Jul 01 PHP
PHP与MYSQL中UTF8编码的中文排序实例
Oct 21 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
PHP的Yii框架中过滤器相关的使用总结
Mar 29 PHP
thinkPHP2.1自定义标签库的导入方法详解
Jul 20 PHP
PHP读取CSV大文件导入数据库的实例
Jul 24 PHP
使用php自动备份数据库表的实现方法
Jul 28 PHP
thinkPHP5分页功能实现方法分析
Oct 25 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
Apr 20 PHP
php实现微信原生支付(扫码支付)功能
May 30 PHP
laravel 实现登陆后返回登陆前的页面方法
Oct 03 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
文章推荐系统(三)
2006/10/09 PHP
PHP新手上路(八)
2006/10/09 PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
Pain 全世界最小最简单的PHP模板引擎 (普通版)
2011/10/23 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
二进制交叉权限微型php类分享
2014/02/07 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
2014/06/10 PHP
php绘制一个矩形的方法
2015/01/24 PHP
Laravel框架中自定义模板指令总结
2017/12/17 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
在Laravel的Model层做数据缓存的实现
2019/09/26 PHP
Javascript学习笔记2 函数
2010/01/11 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
Javascript 多浏览器兼容总结(实战经验)
2013/10/30 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
AngularJS表单详解及示例代码
2016/08/17 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
2017/03/08 Javascript
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
python threading模块操作多线程介绍
2015/04/08 Python
pandas数据预处理之dataframe的groupby操作方法
2018/04/13 Python
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
详解python项目实战:模拟登陆CSDN
2019/04/04 Python
django admin组件使用方法详解
2019/07/19 Python
HTML5 Canvas入门学习教程
2016/03/17 HTML / CSS
一些Solaris面试题
2013/03/22 面试题
网络工程师专家职业发展路线
2014/02/14 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书
工作目标责任书
2014/07/23 职场文书
小学教师师德师风自我剖析材料
2014/09/29 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
2015大学生求职信范文
2015/03/20 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
婚姻出轨保证书
2015/05/08 职场文书
CSS3 制作的悬停缩放特效
2021/04/13 HTML / CSS
使用goaccess分析nginx日志的详细方法
2021/07/09 Servers
Vue OpenLayer 为地图绘制风场效果
2022/04/24 Vue.js