摘要: Rust队列和栈 前言 Rust 标准库里面是有 Vec这种可以在堆上分配内存的连续可增长的数组类型。可以用它很方便的实现队列和栈,但是他只能增长不能收缩。所以接下来使用链表实现队列 结点的结构 #[derive(Debug)] struct Node<T> { data: T, next: Option<Box<N 阅读全文
posted @ 2022-01-05 20:46 noobHuKai 阅读(346) 评论(0) 推荐(0)
摘要: 节点的结构 指向节点的指针可能为空值,所以在最外层包裹一层 Option 一个节点可能存在被两个指针指向(前一个节点的 next 和后一个节点的 prev),指针需要用 Rc 包裹。 Rc指针指向的值默认情况下是不可以修改的,只读性质。可以通过RefCell指针修改其内部的值 #[derive(Pa 阅读全文
posted @ 2022-01-04 20:01 noobHuKai 阅读(234) 评论(0) 推荐(0)
摘要: 节点的结构 希望链表存储在堆上,所以使用 Box 包裹节点 Rust 没有空值,所以用 Option 在包裹一层 #[derive(PartialEq, Eq, Clone, Debug)] struct ListNode<T> { pub data: T, pub next: Option<Box 阅读全文
posted @ 2022-01-02 21:15 noobHuKai 阅读(174) 评论(0) 推荐(0)