1 <?php 2 //队列类 3 class MyQueue{ 4 //变量:数组 5 private $arr; 6 7 //构造函数 8 function __construct() 9 { 10 $this->arr=array(); 11 echo "初始化:"; 12 } 13 14 //析构函数 15 function __destruct() 16 { 17 unset($this->arr); 18 echo "释放资源"; 19 } 20 21 //获取队头元素 22 function GetHead() 23 { 24 if(count($this->arr)!=0) 25 { 26 return $this->arr[0]; 27 } 28 else{ 29 return false; 30 } 31 } 32 33 //入队列操作 34 function EnQueue($data) 35 { 36 array_push($this->arr,$data); 37 } 38 39 //出队列操作 40 function DeQueue() 41 { 42 if(count($this->arr)!=0) 43 { 44 array_splice($this->arr,0,1); 45 } 46 else{ 47 return false; 48 } 49 } 50 51 //遍历整个队列 52 function QueueTraverse() 53 { 54 print_r($this->arr); 55 } 56 57 //清空队列 58 function ClearQueue() 59 { 60 unset($this->arr); 61 $this->arr=array(); 62 } 63 64 //判断队列是否为空 65 function QueueEmpty() 66 { 67 if(count($this->arr)==0) 68 { 69 return true; 70 } 71 else{ 72 return false; 73 } 74 } 75 76 //获取队列长度 77 function QueueLength() 78 { 79 return count($this->arr); 80 } 81 } 82 83 ?>
与栈类完全一样,除了进队列方法的实现。