rust的VecDeque的back()函数作用是什么?
时间: 2023-07-15 18:15:26 浏览: 51
`VecDeque` 是 Rust 标准库中的一个双端队列(deque)类型,支持在队列的头部和尾部进行插入和删除操作。`back()` 方法用于获取队列的尾部元素的可变引用(mutable reference),如果队列为空,则会产生 panic。
具体来说,`back()` 方法返回一个 `Option<&mut T>` 类型,表示队列尾部的元素的可变引用。如果队列为空,则返回 `None`。使用 `back()` 方法可以方便地对队列的尾部元素进行修改操作。
以下是一个使用 `VecDeque` 的示例代码:
```rust
use std::collections::VecDeque;
fn main() {
let mut deque = VecDeque::new();
deque.push_back(1);
deque.push_back(2);
deque.push_back(3);
if let Some(last) = deque.back_mut() {
*last += 1;
}
while let Some(item) = deque.pop_front() {
println!("{}", item); // 输出:2 3 4
}
}
```
在这个例子中,我们创建了一个 `VecDeque`,并向其中插入了三个元素。然后使用 `back_mut()` 方法获取队列尾部元素的可变引用,并将其值加 1。最后使用 `pop_front()` 方法依次弹出队列中的元素,并将其打印出来。输出结果为 `2 3 4`,说明队列尾部元素已经被成功修改。