视频地址
头条地址:https://www.ixigua.com/i
B站地址:https://www.bilibili.com/video/av?p=1
网易云课堂地址:https://study.163.com/course/introduction.htm?courseId=1209596906#/courseDetail?tab=1
github地址
github地址
队列介绍
队列,是一种只允许在一端进行插入操作,而在另一端进行删除操作的数据结构。 队列具有先进先出的特点,也叫做fifo。在队列中,允许插入的一端称为队尾,允许删除的一端称为队头。
队列操作
本文实现的队列,具有以下操作属性:
- 初始化;
- 入队;
- 出队;
- 求取队列长度。
源码实现
#[derive(Debug)] struct Queue<T> { qdata: Vec<T>, } impl <T> Queue<T> { fn new() -> Self { Queue{ qdata: Vec::new() } } fn enqueue(&mut self, item: T) { self.qdata.push(item); } fn dequeue(&mut self) ->Option<T> { let l = self.qdata.len(); if l > 0 { let v = self.qdata.remove(0); Some(v) } else { None } } fn size(&self) -> usize { self.qdata.len() } } fn main() { let mut q = Queue::new(); q.enqueue(1); q.enqueue(2); println!("{:?}", q); println!("size = {}", q.size()); q.dequeue(); println!("{:?}", q); println!("size = {}", q.size()); q.dequeue(); println!("{:?}", q); println!("size = {}", q.size()); q.dequeue(); println!("{:?}", q); println!("size = {}", q.size()); }
到此这篇Rust编程知识拾遗:Rust 编程,实现简单的队列的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rustbc/1715.html