MoonBit月兔编程语言 现代编程思想 第八课 队列:可变数据实现
Hongbo Zhang ## 队列 - 我们曾经介绍过队列这个数据结构 - 先进先出 ☐ 利用两个堆栈进行实现 - 我们利用可变数据结构进行实现 - 基于数组的循环队列 ☐ 单向链表 ## 队列 • 我们实现以下函数(以整数队列为例) 1. struct Queue { ... } 2. 3. fn make() -> Queue // 创建空列表 4. fn push(self: 4. start: 0, end: 0, length: 0 5. } 6. } ## • 默认值应该是什么? Option::None T::default() ## 单向链表 - 每个数据结构都指向下一个数据结构 - 像锁链一样相连 1. struct Node[T] { 2. val: T 3. mut next: Option[Node[T]] 8. mut tail: Option[Node[T]] 9. } ## 单向链表 make() LinkedList tail None list.push(1) LinkedList Node head | Some tail Some val next None ## 单向链表 












