rust

rust vecdeque能存储什么类型

小樊
81
2024-12-07 20:10:50
栏目: 云计算

在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需要在内部对其进行复制操作。在这种情况下,你可以考虑使用其他数据结构,如VecLinkedList

0
看了该问题的人还看了