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和ACCESS写聊天室(九)
Oct 09 PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
Jun 21 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
Jun 06 PHP
php数组中删除元素之重新索引的方法
Sep 16 PHP
PHP @ at 记号的作用示例介绍
Oct 10 PHP
ThinkPHP中I(),U(),$this-&gt;post()等函数用法
Nov 22 PHP
php中adodbzip类实例
Dec 08 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
Mar 05 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
Apr 04 PHP
PHP 计算两个特别大的整数实例代码
May 07 PHP
PHP+Ajax简单get验证操作示例
Mar 02 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
Jun 05 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
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
php json相关函数用法示例
2017/03/28 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
php unlink()函数使用教程
2018/07/12 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
2018/07/30 PHP
js left,right,mid函数
2008/06/10 Javascript
jQuery ajax cache缓存问题
2010/07/01 Javascript
解决jquery中美元符号命名冲突问题
2014/01/08 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/08/22 Javascript
JavaScript表单焦点自动切换代码
2016/07/24 Javascript
深入探讨Vue.js组件和组件通信
2016/09/12 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
微信JSAPI Ticket接口签名详解
2020/06/28 Javascript
JS一个简单的注册页面实例
2017/09/05 Javascript
Vue写一个简单的倒计时按钮功能
2018/04/20 Javascript
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
2019/03/02 NodeJs
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
vue常用高阶函数及综合实例
2021/02/25 Vue.js
[01:19:54]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#1Alliance VS EHOME
2016/03/03 DOTA
Python使用ctypes调用C/C++的方法
2019/01/29 Python
Django 中间键和上下文处理器的使用
2019/03/17 Python
python 将字符串中的数字相加求和的实现
2019/07/18 Python
python字典setdefault方法和get方法使用实例
2019/12/25 Python
Python实现序列化及csv文件读取
2020/01/19 Python
python接入支付宝的实例操作
2020/07/20 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
2021/02/25 Python
css3的动画特效之动画序列(animation)
2017/12/22 HTML / CSS
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
房屋登记授权委托书范本
2014/10/09 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
2015年销售部工作总结范文
2015/04/27 职场文书
2015年社区平安建设工作总结
2015/05/13 职场文书
白银帝国观后感
2015/06/17 职场文书
html+css合并表格边框的示例代码
2021/03/31 HTML / CSS
Python Numpy库的超详细教程
2022/04/06 Python