jitesoft / datastructures
PHP的杂项数据结构。
4.1.0
2020-10-11 18:45 UTC
Requires
- php: >=7.4.2
- jitesoft/exceptions: ^2.3
- jitesoft/math: ^1.0
Requires (Dev)
- phpunit/phpunit: ^9.4
- squizlabs/php_codesniffer: 3.5
This package is auto-updated.
Last update: 2024-08-29 04:42:56 UTC
README
一个包含了我认为对于php 7.1+有用的数据结构、类和算法的包。
数据结构的用法并不一定能加快最终产品的速度,但它们在开发过程中可能会非常有帮助。
PHP中本地的数组类型可能很麻烦,难以跟踪它是什么类型,是索引的还是关联的?是队列还是列表?通过使用像LinkedQueue
或IndexedList
这样的数据结构,这会变得容易一些。
这些结构都有添加和删除对象的方法,并且基本上与它们所代表的类型的工作方式相同。
该包仍在开发中,并将随着时间的推移添加新内容。
如果您有具体的请求,请通过问题跟踪器添加查询。
安装和使用。
要么克隆存储库,要么从composer中引入包
composer require jitesoft/datastructures
用法相当直观,如果不的话,请随时在问题跟踪器中添加问题以获取更多文档。
当前实现的类。
以下类目前实现
- 静态类 (
Jitesoft\DataStructures
)Arrays
- 静态数组方法。Maps
- 静态映射方法。
- 列表类型 (
Jitesoft\Utilities\DataStructures\Lists
)IndexedList
- 包装本地数组的索引列表实现。LinkedList
- 作为链表实现的索引列表。- 排序 (
Jitesoft\Utilities\DataStructures\Lists\Sorting
)AbstractSort
- 用于实现用户定义排序方法的类。NativeSort
- 使用usort
实现的AbstractSort
。GnomeSort
- 使用Gnome排序算法实现的AbstractSort
。QuickSort
- 使用快速排序算法实现的AbstractSort
。
- 队列类型 (
Jitesoft\Utilities\DataStructures\Queues
) (FiFo队列)LinkedQueue
- 以链表为基础的队列实现。ArrayQueue
- 以数组为基础的队列实现。
- 堆栈类型 (
Jitesoft\Utilities\DataStructures\Stacks
) (LiFo队列)LinkedStack
- 以链表为基础的堆栈实现。ArrayStack
- 以数组为基础的堆栈实现。
- 网格类型 (
Jitesoft\Utilities\DataStructures\Grids
)Grid
- 以IndexedList为容器的网格实现。
- 映射类型 (
Jitesoft\Utilities\DataStructures\Maps
)SimpleMap
- 包装本地数组的简单映射结构。