PHP数据结构练习笔记--队列

时间:2022-01-12 10:30:15
 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 ?>

与栈类完全一样,除了进队列方法的实现。