作者热门文章
- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
队列这种数据结构更简单,就像我们生活中排队一样,它的特性是先进先出(FIFO).
PHP SPL中SplQueue类就是实现队列操作,和栈一样,它也可以继承双链表(SplDoublyLinkedList)轻松实现。 SplQueue类摘要如下:
SplQueue简单使用如下:
。
。
而优先队列SplPriorityQueue是基于堆(后文介绍)实现的。 SplPriorityQueue的类摘要如下:
SplPriorityQueue简单使用:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
$pq
=
new
SplPriorityQueue();
$pq
->insert(
'a'
, 10);
$pq
->insert(
'b'
, 1);
$pq
->insert(
'c'
, 8);
echo
$pq
->
count
() .PHP_EOL;
//3
echo
$pq
->current() . PHP_EOL;
//a
/**
* 设置元素出队模式
* SplPriorityQueue::EXTR_DATA 仅提取值
* SplPriorityQueue::EXTR_PRIORITY 仅提取优先级
* SplPriorityQueue::EXTR_BOTH 提取数组包含值和优先级
*/
$pq
->setExtractFlags(SplPriorityQueue::EXTR_DATA);
while
(
$pq
->valid()) {
print_r(
$pq
->current());
//a c b
$pq
->next();
}
|
。
最后此篇关于PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例的文章就讲到这里了,如果你想了解更多关于PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我需要一个队列,我可以在队列中添加对象(先进先出)。此外,我会跟踪 HashMap 中没有重复的对象。 enqueue('test a'); // While we have objects in t
队列这种数据结构更简单,就像我们生活中排队一样,它的特性是先进先出(FIFO)。 PHP SPL中SplQueue类就是实现队列操作,和栈一样,它也可以继承双链表(SplDoublyLinke
我是一名优秀的程序员,十分优秀!