3个版本
0.1.2 | 2019年1月13日 |
---|---|
0.1.1 | 2019年1月13日 |
0.1.0 | 2019年1月9日 |
1152 在 嵌入式开发
22KB
561 行
Static-LinkedList
使用静态数组作为任意数量链表的后备内存的链表实现。
使用方法
要创建链表,首先需要创建一个 StaticLinkedListBackingArray
,传递给它一个 u8
数组。然后,您可以使用 new_list()
创建任意数量的由该数组支持的列表。请注意,无法创建零大小类型的数组。
由于创建的列表共享底层内存的后备数组,所有列表的总条目数不能超过数组的容量。
列表需要一些内存用于缓冲区中的元数据(指向下一个元素的指针)。如果用于创建 StaticLinkedListBackingArray
的缓冲区不足以容纳 n
条数据条目 加上 列表元数据,则数组将只有 n - 1
个条目。剩余的字节将被浪费。设计 capacity_for()
函数是为了计算存储 n
条数据条目所需的精确字节数。
lib.rs
:
使用静态数组作为任意数量链表的后备内存的链表实现。
使用方法
要创建链表,首先需要创建一个 StaticLinkedListBackingArray
,传递给它一个 u8
数组。然后,您可以使用 new_list()
创建任意数量的由该数组支持的列表。请注意,无法创建零大小类型的数组。
由于创建的列表共享底层内存的后备数组,所有列表的总条目数不能超过数组的容量。
列表需要在缓冲区中为其元数据(指向下一个元素的指针)分配一些内存。如果用于创建StaticLinkedListBackingArray
的缓冲区不足以容纳n
条数据条目以及列表元数据,则数组将只有n - 1
个条目容量。剩余的字节将被浪费。函数capacity_for()
旨在计算容纳n
条数据条目所需的精确字节数。