本文实例讲述了PHP实现的链式队列结构。分享给大家供大家参考,具体如下:
<?php header("Content-Type:text/html;charset=utf-8"); /** * 链式队列 */ class node{ public $nickname; public $next; } class queue { public $front;//头部 public $tail;//尾部 public $maxSize;//容量 public $next;//指针 public $len=0;//长度 public function __construct($size) { $this->init($size); } public function init($size) { $this->front = $this; $this->tail = $this; $this->maxSize = $size; } //入队操作 public function inQ($nickname) { $node = new node(); $node->nickname = $nickname; if ($this->len==$this->maxSize) { echo '队满了</br>'; } else { $this->tail = $node; $this->tail->next = $node; $this->len++; echo $node->nickname.'入队成功</br>'; } } //出队操作 public function outQ() { if ($this->len==0) { echo '队空了</br>'; } else { $p = $this->front->next; $this->front->next = $p->next; $this->len--; echo $p->nickname.'出队成功</br>'; } } //打印队 public function show() { for ($i=$this->len;$i>0;$i--) { $this->outQ(); } } } echo "**********入队操作******************</br>"; $q = new queue(5); $q->inQ('入云龙'); $q->inQ('花和尚'); $q->inQ('青面兽'); $q->inQ('行者'); $q->inQ('玉麒麟'); $q->inQ('母夜叉'); echo "**********出队队操作******************</br>"; $q->outQ(); $q->outQ(); $q->outQ(); $q->outQ(); $q->inQ('操刀鬼'); $q->inQ('截江鬼'); $q->inQ('赤发鬼'); $q->outQ(); ?>
运行结果:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
-----正文到此结束-----
发表评论 取消回复