在Rust中,VecDeque
是一个双端队列(double-ended queue),它可以存储任何实现了Copy
trait的类型。这意味着你可以将整数、浮点数、布尔值、字符等基本数据类型以及自定义类型(只要它们实现了Copy
trait)存储到VecDeque
中。
以下是一些可以存储在VecDeque
中的类型示例:
use std::collections::VecDeque;
fn main() {
let mut vec_deque: VecDeque<i32> = VecDeque::new();
vec_deque.push_back(1);
vec_deque.push_front(0);
vec_deque.push_back(2);
vec_deque.push_front(-1);
let mut vec_deque: VecDeque<f64> = VecDeque::new();
vec_deque.push_back(1.0);
vec_deque.push_front(0.0);
vec_deque.push_back(2.0);
vec_deque.push_front(-1.0);
let mut vec_deque: VecDeque<bool> = VecDeque::new();
vec_deque.push_back(true);
vec_deque.push_front(false);
let mut vec_deque: VecDeque<char> = VecDeque::new();
vec_deque.push_back('a');
vec_deque.push_front('z');
}
请注意,如果自定义类型没有实现Copy
trait,那么就不能将其存储在VecDeque
中,因为VecDeque
需要在内部对其进行复制操作。在这种情况下,你可以考虑使用其他数据结构,如Vec
或LinkedList
。