最近在B站学习了北京大学的北京大学-数据结构与算法Python版 https://www.bilibili.com/video/BV1TJ411Q7zL
由于同时还在学习rust,所以突然想将其里面的数据结构和算法用rust实现一遍
准备一步步来,这次先实现一个教案中的打印机任务模拟,仿照原版的python代码先依样画葫芦
//一步步来先用最简单的vec包装一个Queue
pub struct Queue<T>{
data : Vec<T>,
}
impl<T> Queue<T>{
pub fn new() -> Queue<T>{
let mut data : Vec<T> = Vec::new();
let queue = Queue
{
data : data,
};
queue
}
pub fn isEmpty(&self) -> bool{
self.data.is_empty()
}
pub fn enqueue(&mut self,item:T){ //入队列
self.data.insert(0, item);
}
pub fn dequeue(&mut self) -> T{ //出队列
self.data.pop()