程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php的雙向隊列類

php的雙向隊列類

編輯:PHP綜合

(deque,全名double-ended queue)是一種具有隊列和棧的性質的數據結構。雙向隊列中的元素可以從兩端彈出,其限定插入和刪除操作在表的兩端進行。

在實際使用中,還可以有輸出受限的雙向隊列(即一個端點允許插入和刪除,另一個端點只允許插入的雙向隊列)和輸入受限的雙向隊列(即一個端點允許插入和刪除,另一個端點只允許刪除的雙向隊列)。而如果限定雙向隊列從某個端點插入的元素只能從該端點刪除,則該雙向隊列就蛻變為兩個棧底相鄰的棧了。

DEQue.class.php

<?php  
/** php 雙向隊列。支持限定隊列長度,輸入受限,輸出受限,及輸出必須與輸入同端幾種設置 
*   Date:   2014-04-30 
*   Author: fdipzone 
*   Ver:    1.0 
* 
*   Func: 
*   public  frontAdd     前端入列 
*   public  frontRemove  前端出列 
*   public  rearAdd      後端入列 
*   pulbic  rearRemove   後端出列 
*   public  clear        清空對列 
*   public  isFull       判斷對列是否已滿 
*   private getLength    獲取對列長度 
*   private setAddNum    記錄入列,輸出依賴輸入時調用 
*   private setRemoveNum 記錄出列,輸出依賴輸入時調用 
*   private checkRemove  檢查是否輸出依賴輸入 
*/
      
class DEQue{ // class start  
      
    private $_queue = array(); // 對列  
    private $_maxLength = 0;   // 對列最大長度,0表示不限  
    private $_type = 0;        // 對列類型  
    private $_frontNum = 0;    // 前端插入的數量  
    private $_rearNum = 0;     // 後端插入的數量  
      
      
    /** 初始化 
    * @param $type       對列類型 
    *                    1:兩端均可輸入輸出 
    *                    2:前端只能輸入,後端可輸入輸出 
    *                    3:前端只能輸出,後端可輸入輸出 
    *                    4:後端只能輸入,前端可輸入輸出 
    *                    5:後端只能輸出,前端可輸入輸出 
	* 查看本欄目
		
							
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved