rust vecdeque能存储什么类型

364
2024/12/7 21:23:25
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: rust eframe有哪些组件可用