Avatar ·

Rust 中有没有队列和栈类型的集合?

大家好!我最近开始学习 Rust,有一个关于数据结构的问题。在其他语言(比如 C++ 或 Python)中,有内置的队列和栈。我试图在 Rust 的标准库中找到类似的东西,但还没搞清楚。 以下是我尝试过的:我想写一个按任务到达顺序(FIFO)处理任务的程序。我创建了一个 vector 并使用 `push` 添加元素,然后尝试用 `remove(0)` 提取第一个元素,但编译器对性能提出了警告。示例如下: ```rust fn main() { let mut queue: Vec = Vec::new(); queue.push(1); queue.push(2); queue.push(3); // 尝试提取第一个元素 let first = queue.remove(0); println!("{}", first); } ``` 这能工作,但我听说 `Vec` 的 `remove(0)` 是 O(n),因为所有元素都会移动。对于栈,我会用 `pop()`,它是 O(1) 的,但那是 LIFO。而我需要 FIFO。 请问,Rust 中是否有