px普贤教程PuXian
普贤教程 › 包参考

datastruct 包

常用数据结构

项值
包名datastruct
版本0.2.0
可用版本0.1.0 / 0.2.0
入口datastruct.px
分类数据结构
文件数 / 行数1 / 192

安装与引入

bash
pxpkg init          # 首次
pxpkg add datastruct@0.2.0
pxpkg install
px
import datastruct
所属分类教程:数据结构

公开接口

函数参数
ds_heap_new
ds_lru_newcap
ds_queue_new
ds_stack_new
其余 24 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
ds_heap_pushh, prio, v
ds_heap_poph
ds_heap_peekh
ds_heap_sizeh
ds_lru_getcache, k, default=null
ds_lru_hascache, k
ds_lru_lencache
ds_lru_touchcache, k
ds_lru_setcache, k, v
ds_queue_pushq, v
ds_queue_popq
ds_queue_peekq
ds_queue_lenq
ds_stack_pushs, v
ds_stack_pops
ds_stack_peeks
ds_stack_lens
ds_deque_new
ds_deque_push_frontdq, v
ds_deque_push_backdq, v
ds_deque_pop_frontdq
ds_deque_pop_backdq
ds_sorted_insertarr, v
ds_bsearcharr, v

包内说明(源码头注释)

text
============================================================
普贤生态库:registry/datastruct —— 常用数据结构
------------------------------------------------------------
纯函数库(无 IO、无状态),编译(px build)与解释(px run)双模式一致。
最小堆:ds_heap_new/push(prio,v)/pop/peek/size
LRU:   ds_lru_new/get/set/has/len(容量淘汰,MRU 在后)
队列:  ds_queue_new/push/pop/peek/len
栈:    ds_stack_new/push/pop/peek/len
实现说明:
大数据量请换理想二叉堆)
- 无 list 删除原语,LRU/队列入队出队用切片重建(元素少时开销可忽略)
============================================================