php零基础教学视频
队列是一种特殊的线性表,它只允许在表的前端,可以称之为front,进行删除操作;而在表的后端,可以称之为rear进行插入操作队列和堆栈一样,是一种操作受限制的线性表,和堆栈不同之处游戏在于:队列是遵循“先进先出”原则,而堆栈遵循的是“先进后出”原则。
队列进行插入操作的端称为队尾,进行删除操作的称为队头,只允许在队尾进行插入操作,在队头进行删除操作队列的数据元素又称为队列元素,在队尾游戏中插入一个元素称为入队,在队头删除一个元素称为出队具体实现参考代码:。
代码:data = $data; echo $data . ":进队了!
"; } 游戏 public function getData() { return $this->data; } public function 游戏__destruct() { echo $this->data . ":走了!
"; } } class queue 游戏 { protected $front;//队头 protected $rear;//队尾 protected $queue = array游戏(0 => 队尾);//存储队列 protected $maxsize;//最大数 public function __construct($size) 游戏 { $this->initQ($size); } //初始化队列 private function initQ($size) 游戏 { $this->front = 0; $this->rear = 0; $this->maxsize = $size; }游戏 //判断队空 public function QIsEmpty() { return $this->front == $this->游戏rear; } //判断队满 public function QIsFull() { return ($this->f游戏ront - $this->rear) == $this->maxsize; } //获取队首数据 public function getFrontD游戏ate() { return $this->queue[$this->front]->getData(); } //入队 游戏 public function InQ($data) { if ($this->QIsFull()) { echo $data . ":我一来咋就满游戏了!(队满不能入队,请等待!)
"; } else { $this->front++; for ($i = $this->front; $i > $thi游戏s->rear; $i--) { //echo $data; if ($this->queue[$i]) { unset($this->queue[$i游戏]); } $this->queue[$i] = $this->queue[$i - 1]; } $this->queue[$this-游戏>rear + 1] = new data($data); echo 入队成功!
; } } //出队 public f游戏unction OutQ() { if ($this->QIsEmpty()) { echo "队空不能出队!
"; } else { 游戏 unset($this->queue[$this->front]); $this->front--; //print_r($this->queue); 游戏 //echo $this->front; echo "出队成功!
"; } } } $q = new queue(2); $q->游戏InQ("queue1"); $q->InQ(queue2); $q->InQ(queue3); $q->InQ(queue4); $q->OutQ(); $q游戏->InQ("queue5"); $q->OutQ(); $q->OutQ(); $q->OutQ(); $q->OutQ();本案例中有两个类:第一个是data类,用游戏于实现数据的存放以及队列元素的入队出队情况;第二个是queue类,用于队列元素的一些入队出队操作队列中包含四个属性:front(队列的头部)rear(队列的尾部)。
maxsize(队列的长度,即队列元游戏素个数)queue(存放所有已入队队列元素的对象)场景说明:1.初始化队列时,生成一个队列,传入一个参数作为maxsize初始化队列把队尾rear设为0,队头front也设为0,此时queue中只有0游戏号元素,并且rear和front都指向它。
2.入队时,先需要判断队列是否已满(front-rear == maxsize),如果已满不可在插入,如果未满则允许插入插入时,front自增,然后依次让队列游戏所有元素向前移动一位(让出队尾位置以便插入新元素),然后生成新的data对象插入到队尾位置。
3.出队时,判断队列是否为空(front == rear),如果为空时,无法出队如果不为空时,删除front游戏指向的对象,并且front自减,完成出队运行结果如下:本案例中有两个类: 第一个是data类,用于实现数据的存放以及队列元素的入队出队情况; 第二个是queue类,游戏用于队列元素的一些入队出队操作。
队列中包含四个属性: front(队列的头部) rear(队列的尾部) maxsize(队列的长度,即队列元素个数游戏) queue(存放所有已入队队列元素的对象) 场景说明: 1.初始化队列时,生成一个队列,传入一个参数作为maxsize初始化队列把队尾rear游戏设为0,队头front也设为0,此时queue中只有0号元素,并且rear和front都指向它。
2.入队时,先需要判断队列是否已满(front-rear == maxsize),如果已满不可在插入,如游戏果未满则允许插入 插入时,front自增,然后依次让队列所有元素向前移动一位(让出队尾位置以便插入新元素),然后生成新的data对象插入到队尾位置。
3.出队时,判断队列是否为空(fr游戏ont == rear),如果为空时,无法出队如果不为空时,删除front指向的对象,并且front自减,完成出队 运行结果如下:以上内容希望帮助到大家以上内容希望帮助到大家,更多P游戏HP大厂PDF,PHP进阶架构视频资料,PHP精彩好文可以关注公众号:PHP开源社区 或者访问:
四年精华PHP技术文章整理合集——PHP框架篇四年精华PHP技术文合集——微服务架构篇四年精华PHP技术游戏文合集——分布式架构篇四年精华PHP技术文合集——高并发场景篇作者:头大的冯* 来源:博客园 地址:https://www.cnblogs.com/clubs/p/11游戏950043.html
亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。