PHP SPL标准库之数据结构堆(SplHeap)简单使用实例

2025-05-29 0 40

(Heap)就是为了实现优先队列而设计的一种数据结构,它是通过构造二叉(二叉树的一种)实现。根节点最大的叫做最大或大根,根节点最小的叫做最小或小根。二叉还常用于排序(排序)。
如下:最小(任意节点的优先级不小于它的子节点)

PHP SPL标准库之数据结构堆(SplHeap)简单使用实例

看看PHP SplHeap的实现:

PHP SPL标准库之数据结构堆(SplHeap)简单使用实例

显然它是一个抽象类,最大(SplMaxHeap)和最小(SplMinHeap)就是继承它实现的。最大和最小并没有额外的方法
SplHeap的简单使用如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20
class MySimpleHeap extends SplHeap

{

//compare()方法用来比较两个元素的大小,绝对他们在堆中的位置

public function compare( $value1, $value2 ) {

return ( $value1 - $value2 );

}

}

$obj = new MySimpleHeap();

$obj->insert( 4 );

$obj->insert( 8 );

$obj->insert( 1 );

$obj->insert( 0 );

echo $obj->top(); //8

echo $obj->count(); //4

foreach( $obj as $number ) {

echo $number;

}

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP SPL标准库之数据结构堆(SplHeap)简单使用实例 https://www.kuaiidc.com/102197.html

相关文章

发表评论
暂无评论