3 个版本
0.1.2 | 2023年6月29日 |
---|---|
0.1.1 | 2023年5月26日 |
0.1.0 | 2023年5月26日 |
#1665 在 算法
80KB
1.5K SLoC
任何时间都可以无需准备进行切片的双端队列。
LinearDeque
与 VecDeque
标准 VecDeque
使用环形缓冲区。它要求调用 make_contiguous
方法以确保所有队列内容都可以在一个切片中引用。 make_contiguous
只能在可变实例上调用。
此库提供的 LinearDeque
使用线性缓冲区,保持所有内容连续,并允许在任何时候都有包含所有内容的切片,即使队列不可变。
lib.rs
:
任何时间都可以无需准备进行切片的双端队列。
LinearDeque
与 VecDeque
切片
标准 VecDeque
使用环形缓冲区。它要求调用 make_contiguous
方法以确保所有队列内容都可以在一个切片中引用。 make_contiguous
只能在可变实例上调用。
此库提供的 LinearDeque
使用线性缓冲区,保持所有内容连续,并允许在任何时候都有包含所有内容的切片,即使队列不可变。
内存使用
通过使用环形缓冲区,标准 VecDeque
分配的所有空闲内存都可以用于前后两端添加的元素。
使用线性缓冲区,每个LinearDeque
的端都有其预留内存,因此它通常比VecDeque
使用更多的内存。