Rust集合中的双端队列(VecDeque)

Rust集合中的双端队列(VecDeque)

Rust 中的 VecDeque 是基于可增长的 RingBuffer 算法实现的双端队列。

use std::collections::VecDeque;
let mut buf = VecDeque::new();

buf.push_front(1);
buf.push_front(2);
assert_eq!(buf.get(0), Some(&2));
assert_eq!(buf.get(1), Some(&1));

buf.push_back(3);
buf.push_back(4);
buf.push_back(5);

assert_eq!(buf.get(2), Some(&3));
assert_eq!(buf.get(3), Some(&4));
assert_eq!(buf.get(4), Some(&5));