PHP实现的链式队列结构示例

发布时间 - 2026-01-11 03:16:27    点击率:

本文实例讲述了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面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。


# PHP  # 链式队列  # PHP基于数组实现的堆栈和队列功能示例  # 关于PHP堆栈与列队的学习  # php线性表的入栈与出栈实例分析  # PHP基于堆栈实现的高级计算器功能示例  # PHP实现的栈数据结构示例【入栈、出栈、遍历栈】  # PHP实现基于栈的后缀表达式求值功能  # PHP使用数组实现队列  # php实现的双向队列类实例  # 队列在编程中的实际应用(php)  # php基于双向循环队列实现历史记录的前进后退等功能  # PHP使用两个栈实现队列功能的方法  # 链式  # 程序设计  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 满了  # 更多关于  # 所述  # 面向对象  # 空了  # 操刀  # 操作技巧  # 玉麒麟  # 讲述了  # 入云龙  # Type  # text  # header  # Content 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何编写单元测试和功能测试?(PHPUnit示例)  php json中文编码为null的解决办法  如何在香港服务器上快速搭建免备案网站?  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  清除minerd进程的简单方法  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  高防服务器租用首荐平台,企业级优惠套餐快速部署  使用spring连接及操作mongodb3.0实例  详解Android中Activity的四大启动模式实验简述  如何用JavaScript实现文本编辑器_光标和选区怎么处理  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  微信小程序 五星评分(包括半颗星评分)实例代码  桂林网站制作公司有哪些,桂林马拉松怎么报名?  千库网官网入口推荐 千库网设计创意平台入口  如何快速生成橙子建站落地页链接?  如何快速搭建虚拟主机网站?新手必看指南  如何正确选择百度移动适配建站域名?  微信小程序 闭包写法详细介绍  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  如何基于PHP生成高效IDC网络公司建站源码?  如何在IIS中新建站点并配置端口与IP地址?  phpredis提高消息队列的实时性方法(推荐)  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  🚀拖拽式CMS建站能否实现高效与个性化并存?  linux写shell需要注意的问题(必看)  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  Laravel观察者模式如何使用_Laravel Model Observer配置  昵图网官方站入口 昵图网素材图库官网入口  Laravel如何处理异常和错误?(Handler示例)  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  香港服务器租用每月最低只需15元?  如何在建站主机中优化服务器配置?  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  如何快速生成专业多端适配建站电话?  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  怎么用AI帮你为初创公司进行市场定位分析?  Laravel如何使用Eloquent进行子查询  Laravel如何实现API版本控制_Laravel版本化API设计方案  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  利用vue写todolist单页应用  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】