`

php 双向队列

 
阅读更多
<?php 
class deque
{
	public $queue  = array();
	public $length = 0;
   
	public function frontAdd($node){
		array_unshift($this->queue,$node);
		$this->countqueue();
	}
	public function frontRemove(){
		$node = array_shift($this->queue);
		$this->countqueue();
		return $node;
	}
	  
	public function rearAdd($node){
		array_push($this->queue,$node);
		$this->countqueue();
	}
	 
	public function rearRemove(){
		$node = array_pop($this->queue);
		$this->countqueue();
		return $node;
	}
	 
	public function countqueue(){
		$this->length = count($this->queue);    
	}
}
$fruit = new deque();
echo $fruit -> length;
$fruit -> frontAdd("Apple");
$fruit -> rearAdd("Watermelon");
echo '<pre>';
print_r($fruit);
echo '</pre>';
?>

 

分享到:
评论

相关推荐

    php 双向队列类v1.2

    php 双向队列。支持限定队列长度,输入受限,输出受限,及输出必须与输入同端几种设置 * Func: * public frontAdd 前端入列 * public frontRemove 前端出列 * public rearAdd 后端入列 * pulbic rearRemove 后端出列...

    php 双向队列类

    php 双向队列。支持限定队列长度,输入受限,输出受限,及输出必须与输入同端几种设置。 Func: public frontAdd 前端入列 public frontRemove 前端出列 public rearAdd 后端入列 pulbic rearRemove 后端出列 public...

    PHP实现双向队列

    本篇文章将深入探讨如何在PHP中实现双向队列,以及两种不同的实现方法。 首先,理解双向队列的概念至关重要。与传统的单向队列(FIFO,先进先出)不同,双向队列(Double Ended Queue,DEQ)允许在两端进行插入和...

    php实现的双向队列类实例

    以下是一个名为`DEQue`的PHP双向队列类的实例,它提供了丰富的功能,包括队列的操作、限制和检查。 这个`DEQue`类的核心属性包括: 1. `_queue`:存储队列元素的数组。 2. `_maxLength`:队列的最大长度,若设置为0...

    php基于双向循环队列实现历史记录的前进后退等功能

    本文实例讲述了php基于双向循环队列实现历史记录的前进后退等功能。分享给大家供大家参考。具体如下: 为实现一个记录操作历史的功能 1. 和撤销,反撤销功能类似的一个功能。(实现操作的前进后退) 2. 和discuz...

    50个优秀经典PHP算法大集合

    │ ├── BidirectionalQueue.php 双向队列 │ ├── ColorBricks.php 彩色砖块 │ ├── GetCattle.php 牛年求牛 │ ├── OnlyNumbers.php 求唯一数 │ ├── PokerGames.php 洗扑克牌 │ ├── Interval....

    Thinkphp6 redis队列 消息事件 gatewayworker聊天打通版

    首先,`Thinkphp6`是一款基于PHP的开源框架,它提供了快速、安全和可扩展的Web应用开发解决方案。在`Thinkphp6`中,开发者可以利用其强大的MVC(Model-View-Controller)模式、自动路由、依赖注入等特性,高效地编写...

    PHP使用数组实现队列

    在PHP中,实现队列的功能通常会借助数组及其...SplQueue类是PHP SPL(Standard PHP Library)扩展提供的一个队列实现,它基于双向链表实现,可以提供更为丰富的队列操作功能,包括但不限于队列的反转、优先级设置等。

    公司面试题之-腾讯PHP工程师笔试题.doc

    配置、魔术方法、命令行运行 PHP 脚本、垃圾收集机制、对象的 foreach 循环、双向队列、正则表达式的应用、Socket 编程等。 一、正则表达式 ereg、preg_match、ereg_replace、preg_replace 是 PHP 中四个常用的...

    RabbitMq消息队列指南.docx

    8. **Channel**:信道,是连接中的独立双向数据流通道,用于提高效率。 9. **Virtual Host**:虚拟主机,提供命名空间,可以隔离不同用户或项目的消息队列。 RabbitMQ的典型工作流程: 1. 生产者建立TCP连接到...

    php面试题目

    在PHP中,可以利用`SplDoublyLinkedList`类轻松实现双向队列。 #### 正则表达式提取HTML/XML属性值 使用正则表达式从HTML或XML中提取特定标签的属性值,需要考虑到属性值可能存在的各种不规则情况,如大小写不敏感...

    PHP小教程之实现双向链表

    在实际的PHP开发中,虽然链表结构并不像数组那样常见,但在某些特定情况下,如实现高效的队列、堆栈或自定义数据结构时,双向链表能够提供很好的解决方案。理解并掌握如何在PHP中实现双向链表,对于提升编程技能和...

    IAPP源码聊天软件IAPP源码+php后端

    8. **消息队列**:大型聊天应用可能会使用消息队列(如RabbitMQ、Beanstalkd)来处理高并发情况下的消息发送,确保消息的可靠传递。 9. **负载均衡**:随着用户量增长,可能需要多台服务器部署应用。PHP源码应能...

    jquery+echarts+php实时动态图表显示

    PHP可以通过配合RabbitMQ、Redis等消息队列或流处理技术,实现实时数据推送。 在实际操作中,项目的文件结构可能包含以下部分:HTML文件用于页面布局和包含jQuery及ECharts库;JavaScript文件用于前端逻辑,包括...

    PHP实例开发源码——php-vue单商户版客服聊天系统.zip

    2. **WebSocket**:为了实现即时通讯,Vue前端可能利用WebSocket协议与PHP后端建立长连接,实现实时双向通信,确保消息的即时推送。 3. **前端API调用**:Vue组件通过Axios库或其他HTTP客户端向PHP后端的RESTful ...

    基于PHP的喧喧(开源免费的企业即时通讯IM软件) 源码包.zip

    这需要理解PHP如何处理多线程、异步任务,以及可能使用的队列服务如RabbitMQ或Beanstalkd。 8. 聊天记录存储与检索:理解喧喧如何高效地存储和检索聊天记录,可能涉及到时间序列数据库、归档策略和索引优化等技术。...

    数据结构和算法分析的PHP描述

    - **双向链表**:每个节点包含一个前驱节点和一个后继节点的引用。 - **单向循环链表**:每个节点仅包含一个指向后继节点的引用,最后一个节点的后继是指向头节点的。 - **约瑟夫环**:一种特殊的单向循环链报,常...

Global site tag (gtag.js) - Google Analytics