1个不稳定版本
0.1.1 | 2022年4月27日 |
---|
#34 in #circular
25KB
607 代码行,不含注释
简介
此库是RIOT-rs项目的一部分。
这是尝试使用链表来跟踪内核对象(如线程、锁等)的尝试。
lib.rs
:
此包包含循环链表和单链表实现。
其操作包括
操作 | 运行时 | 描述 |
---|---|---|
clist::lpush() | O(1) | 作为头部插入(最左边的节点) |
clist::lpeek() | O(1) | 获取头部但不删除它 |
clist::lpop() | O(1) | 删除并返回头部(最左边的节点) |
clist::rpush() | O(1) | 作为尾部追加(最右边的节点) |
clist::rpeek() | O(1) | 获取尾部但不删除它 |
clist::rpop() | O(n) | 删除并返回尾部(最右边的节点) |
clist::lpoprpush() | O(1) | 将第一个元素移动到列表末尾 |
clist::contains( | O(n) | 检查列表是否包含元素 |
clist::find() | O(n) | 查找并返回节点 |
clist::find_before() | O(n) | 查找节点,返回指向节点的指针 |
clist::remove() | O(n) | 删除并返回节点 |
clist::sort() | O(NlogN) | 对列表进行排序(稳定排序) |
clist::count() | O(n) | 计算列表中元素的数量 |
clist可以作为传统列表、队列(FIFO)和栈(LIFO)使用,通过快速的O(1)操作。
依赖项
~37KB