当前位置:首页 > 日记 > 正文

PHP扩展中的数据结构

PHP扩展中的数据结构
php7可以安装和使用扩展数据结构,易于安装。

1。运行命令的PECL安装DS

2。添加的扩展= ds.so

三.重新启动PHP或重载配置

采集接口:包含所有数据结构的一般作用在这个图书馆的基本接口,它保证所有的结构都是横的,可数的,可转换。
DS 收集实现通行,可数的,jsonserializable {
方法
抽象公共空间清空(无效)
抽象公共集合拷贝(空)
摘要公共布尔虚空(void)
摘要公共数组toArray(void)
}
哈希的接口:它允许对象作为键。

{ DS 哈希
方法
摘要公共bool值等于(对象obj)
抽象混合散列(空)
}
序列接口:一个序列相当于一维数组的数字键,除几个特性外:

值总是索引为{ 0, 1, 2,……大小- 1 }。

只允许在索引范围{ 0中访问索引值—

使用案例:

无论您在何处使用数组作为列表(不关心)。

一个更有效的替代spldoublylinkedlist和splfixedarray。
向量类:向量是自动增长和收缩的连续缓冲区中的一系列值,是最有效的序列结构,其值直接映射到缓冲区的索引中,生长因子不受特定的倍数或索引约束,具有以下优点和缺点:

支持数组语法(方括号)。

使用相同数组数的数组的总体内存较少

当内存大小足够低时自动释放分配的内存。

容量不一定是2的功率。

获取()、设置()、推()、POP()都是O(1)。

但移()(),(),()位置插入和删除()都是O(n)。
向量::分配-为所需的容量分配足够的内存。
应用程序:通过向每个应用回调函数来更新所有的值。
向量::容量-返回当前容量。
向量::清除所有值。
DS 向量::__construct -创建一个新的实例。
向量::包含-确定vector是否包含给定值。
向量::复制-返回一个向量的浅拷贝。
向量::计数-返回集合中的值的数量。
向量::过滤器-使用可调用的方法创建一个新的向量来确定哪个
向量::查找-查找值索引的尝试。
向量::首先返回向量中的第一个值。
向量::获取-返回给定索引的值。
在给定的索引中插入值。
DS 向量::空返回向量是否为空
向量::连接——将所有值作为字符串连接在一起。
DS 向量::jsonserialize -返回一个表示可以转换为JSON。
向量::最后一个——返回最后一个值。
向量::映射-返回对每个值应用回调的结果。
向量::合并-返回将所有给定值添加到
向量::弹出-删除并返回最后一个值。
DS向量::推-将值添加到矢量的结尾。
向量::减少-使用回调将向量减为单个值。
向量::移除-通过索引移除和返回一个值。
向量:反向颠倒位置的向量。
向量::反向返回一个反向拷贝。
向量::通过给定的旋转次数旋转向量。
向量::在给定索引处更新一个值。
变量:删除并返回第一个值。
向量::返回一个给定范围的子向量。
向量::排序。
向量::排序-返回一个已排序的副本。
向量::返回-返回向量中所有值的和。
DS 向量:向量:toArray转换到一个数组。
DS 向量::位置-增加值向量的前。
deque类:双端队列的缩写,也用于DS 队列,两指针头部和尾部。指针可以环绕端的缓冲区,缓冲区,其中,具有以下优点和缺点:

支持数组语法(方括号)。

使用相同数组数的数组的总体内存较少

当内存大小足够低时自动释放分配的内存。

得到(),设置(),推(),(),()流行的转变,和位置()都是O(1)。

但能力必须是一个权力2.insert()和删除()是O(N)。

map类:一组连续的键值对,几乎与数组相同。键可以是任意类型,但必须是唯一的。如果将相同的键添加到map中,该值将被替换:

键和值可以是任何类型,包括对象。

支持数组语法(方括号)。

插入顺序保持不变。

性能和内存效率非常类似于数组。

当内存大小足够低时自动释放分配的内存。

当对象用作键时不能转换为数组。

一对类:DS使用map对值进行配对。
DS 对实现{ jsonserializable
方法
公共__construct($关键{ {混合混合,美元的价值)
}
集合类:一个唯一的值序列。这个实现使用与该值相同的哈希表,其值如下所示,具有以下优点和缺点:

值可以是任何类型,包括对象。

支持数组语法(方括号)。

插入顺序保持不变。

当内存大小足够低时自动释放分配的内存。

添加()、删除()和包含()都是O(1)。

但不支持推送(),流行(),插入()、移(),或(),()得到的位置是O(是),推,插入,插入,

堆栈类:后进先出集合,只允许在结构顶部进行访问和迭代。
DS堆栈实现了
方法
公共空分配(int容量)
公共INT容量(空)
公共空白清除(无效)
公共堆栈复制(空)
public bool是空的(空)
公共混合窥视(无效)
公共混合流行音乐(无效)
公共虚推({混合$)…值})
公共数组toArray(void)
}
队列类:第一个,第一个集合,只允许访问和迭代在结构的前端。
DS
常量
const int min_capacity = 8;
方法
公共空分配(int容量)
公共INT容量(空)
公共空白清除(无效)
公共队列复制(空)
public bool是空的(空)
公共混合窥视(无效)
公共混合流行音乐(无效)
公共虚推({混合$)…值})
公共数组toArray(void)
}
优先级:优先级队列的队列是非常相似的,但价值推到指定的优先级队列。最高优先级的值总是位于队列前面,和先入先出的顺序和优先级的元素被保留。递归一个PriorityQueue是破坏性的,相当于一个连续的弹出操作直到队列为空。用最大堆的实现。
DS PriorityQueue实现{ DS 收藏
常量
const int min_capacity = 8;
方法
公共空分配(int容量)
公共INT容量(空)
公共空白清除(无效)
公共DS PriorityQueue拷贝(void)
public bool是空的(空)
公共混合窥视(无效)
公共混合流行音乐(无效)
公共虚推(混合$值,int优先级)
公共数组toArray(void)
}
以上是在PHP中的普遍的数据结构:DS扩展萧边共享你的全部内容。我希望能给你一个参考,希望你能支持它。

相关文章

2007版excel在格式excel基础批量设

2007版excel在格式excel基础批量设

操作方法,设置,批量,格式,基础,现在最常用的版本是2003和2007,但不管哪个版本,它的功能都很强。win7系统下载03版本的喜欢,有些人习惯于使用07版本,但是是一个流行的软件。然而,他们中的很多人都不熟悉它们的功能,如批字图像格式设置。今天,萧边教…

与MySQL相关的操作来增加和删除索

与MySQL相关的操作来增加和删除索

操作,索引,删除,电脑软件,MySQL,如下所示: 修改表xxxxx添加索引` TID `(` TID `)使用B树; XXXX下降指数的UID; 从XXXX显示索引 上述操作MySQL增加和删除索引,萧边分享了你的全部内容。我希望能给你一个参考,希望你能支持它。…

ps层如何解锁PS解锁详细教程

ps层如何解锁PS解锁详细教程

解锁,详细教程,电脑软件,ps,PS,有时我们需要使用ps来编辑图片,但是当你用ps打开时,图片是不能编辑的,可能是图片被锁定了,而且只有一个简单的解锁可以用来操作图片。你如何在PS中解锁图片让我们一起进入教程‘PS如何解锁图片。 软件名称:Ad…

PS合成的第一屏海报淘宝女装店

PS合成的第一屏海报淘宝女装店

淘宝,海报,电脑软件,PS,在本教程中,PS照片合成的学习者使用PS合成淘宝女装店首屏横幅。本教程难度中等,所制作的横幅具有视觉冲击力,建议大家一起分享,一起学习。让我们看一下最后的结果。 本教程结束,上面是PS图片合成淘宝女装店首屏海报教程,…

Web页面上无缝滚动的js代码

Web页面上无缝滚动的js代码

无缝滚动,页面,代码,电脑软件,Web,随便打开一个网页,主要看无缝滚动或旋转木马的身影,如淘宝的官方网站首页360 观察转盘图可以在图片中找到可以来回切换的循环,然后怎么办 旋转带或无缝滚动主要有两种方式,一种是通过图像的亮度变化到透明的…

动画导论:如何画卡通人物的手

动画导论:如何画卡通人物的手

动画,导论,卡通人物,电脑软件,学会画人物的手可能是每一个绘画学习者遇到的最困难的技巧之一。有在手许多形式和不同的情感,以及卡通。你需要能够在不同的角度,在观众的眼睛是动态的和有吸引力的画手。不要低估了一个很好的画过卡通手强度;mda…

11冲程双金焰大气PS图象处理软件

11冲程双金焰大气PS图象处理软件

双金,冲程,图象,大气,处理软件,文字成分的影响更为复杂,分为火焰底部、中间金属质感、金属笔画三部分;每部分都是用若干文字层,分别用图层样式来制作效果。 最终效果 1,打开ps,按Ctrl + N构建一个新的画布,大小为1280×1024,分辨率为72像素/英寸,…

手机预览插件photoswipe.js使用总

手机预览插件photoswipe.js使用总

插件,电脑软件,photoswipe,js,移动图片预览photoswipe PC,支持图片预览,更多的Android、iOS手机图片预览。 资源包:photoswipe-3.0.5 在photoswipe官方网站,有1.0.11下载,但1.0.11版本是有缺陷的。当它在一些Android手机上滑动时,它会跳2张图片…

如何卸载WPS表WPS教程

如何卸载WPS表WPS教程

教程,卸载,电脑软件,WPS,有时我们想卸载WPS并重新安装它,但是我们不知道如何卸载它。我们现在该怎么办让我们告诉你如何卸载WPS。 卸载WPS的方法 点击屏幕左下角的开始菜单。 点开控制面 点开程序和函数 查找WPS程序 软件中的右键-卸载 点…

MySQL修改密码后解决phpmyadmin

MySQL修改密码后解决phpmyadmin

修改密码,电脑软件,MySQL,phpmyadmin,安装WAMP集成服务器和配置后,单击phpMyAdmin进入MySQL数据库的在线用户,但是当你修改mysql管理员root用户的密码,点击下一页。 错误的原因:这是因为phpmyadmin配置文件没有同步更新后的MySQL密码被修改 …

在哪里使用WPS演示教程的WPS格式

在哪里使用WPS演示教程的WPS格式

教程,演示,格式,电脑软件,WPS,在普通的文本编辑过程中,如何快速地把两段相同的格式、格式的画笔给大家解决这个问题。其实使用的方法并不难,下面的小编就如何教你如何在WPS文本中使用格式画笔,欢迎大家学习。 在WPS文本中使用格式化画笔 打…

解决与虚拟机连接Oracle的ora-1215

解决与虚拟机连接Oracle的ora-1215

连接,虚拟机,电脑软件,Oracle,ora,谈论ora-12154问题,互联网上有很多的解决方案。原因是基本统一:TNS听者或配置不正确。对于监听器配置一般是不正确的,大多数人遵循的默认配置的所有方式,其次是Oracle服务名。如果本地连接可以连接到Oracle,其…