PHP实现队列和测试
2021/5/19 12:25:18
本文主要是介绍PHP实现队列和测试,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
<?php /** * Class MyList * 队列,先进先出,头部出,尾部入 * * */ class MyList { //队列头索引 private $head_index = 0; //出队的内容 private $out_value; //入队的内容 private $in_value; //队列数组 private $list_arr = []; //队列最大值(满了不能入队) private $max_num = 10; //初始化队列,设置栈最大值 public function __construct($max_num=10) { $this->max_num = $max_num; } //入队 public function list_in($value){ if(empty($value)){ return '值不能为空'; } //是否满了 if(count($this->list_arr)>=$this->max_num){ return '队列已满,无法入队'; } array_push($this->list_arr,$value); $this->in_value = $value; return '入队成功,内容:'.$this->in_value; } //出队 public function list_out(){ if(empty($this->list_arr)){ return '出队失败,当前队列是空的'; } //出队操作,把队列第一个值去掉(由于队列内容总是) $this->out_value = $this->list_arr[$this->head_index]; unset($this->list_arr[$this->head_index]); //重排所有索引,保证队首索引永远指向下一个内容 $this->list_arr = array_values($this->list_arr); return '出队成功,内容:'.$this->out_value; } //获得当前队长度 public function getCount(){ return count($this->list_arr); } //最后出队值 public function getOutValue(){ return $this->out_value; } //队内信息 public function getListArr(){ return $this->list_arr; } } $object = new MyList(3); //尝试插入和弹出,指令合集 $test_order_arr = [2,'西瓜','菠萝','苹果','芒果','黑凤梨',2,2]; foreach($test_order_arr as $test_order){ switch ($test_order){ case 2: echo $object->list_out()."\n"; var_dump($object->getListArr()); break; default: echo $object->list_in($test_order)."\n"; var_dump($object->getListArr()); break; } } echo "最终内容\n"; var_dump($object->getListArr());
E:\linux_data>php MyList.php
出队失败,当前队列是空的
array(0) {
}
入队成功,内容:西瓜
array(1) {
[0]=>
string(6) "西瓜"
}
入队成功,内容:菠萝
array(2) {
[0]=>
string(6) "西瓜"
[1]=>
string(6) "菠萝"
}
入队成功,内容:苹果
array(3) {
[0]=>
string(6) "西瓜"
[1]=>
string(6) "菠萝"
[2]=>
string(6) "苹果"
}
队列已满,无法入队
array(3) {
[0]=>
string(6) "西瓜"
[1]=>
string(6) "菠萝"
[2]=>
string(6) "苹果"
}
队列已满,无法入队
array(3) {
[0]=>
string(6) "西瓜"
[1]=>
string(6) "菠萝"
[2]=>
string(6) "苹果"
}
出队成功,内容:西瓜
array(2) {
[0]=>
string(6) "菠萝"
[1]=>
string(6) "苹果"
}
出队成功,内容:菠萝
array(1) {
[0]=>
string(6) "苹果"
}
最终内容
array(1) {
[0]=>
string(6) "苹果"
}
这篇关于PHP实现队列和测试的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享
- 2024-11-01开源 PHP 商城项目 CRMEB 安装和使用教程
- 2024-11-01用php和mysql写无限分类,有哪几种方法-icode9专业技术文章分享
- 2024-10-31php数据分表导出时部分数据无法导出什么原因-icode9专业技术文章分享
- 2024-10-30有经验的 PHP 开发者学习一门新的编程语言,有哪些推荐的有前景的语言-icode9专业技术文章分享
- 2024-10-21php 检测图片是否篡改过-icode9专业技术文章分享
- 2024-10-20fruitcake/php-cors 该怎么使用-icode9专业技术文章分享
- 2024-10-18PHP7.1可以使用哪个版本的swoole-icode9专业技术文章分享
- 2024-10-17php8 执行php -v提示 command not found是什么原因?-icode9专业技术文章分享
- 2024-10-17nginx 怎么配置 php?-icode9专业技术文章分享