栈 & 队列
03.栈 ToyStack
代码链接:https://github.com/skychx/Toy-Data-Structures/blob/main/03-Stack/ToyStack.d.ts
ToyStack
有两个实现:
- 基于
ToyArray
实现的ArrayStack
,在数组尾模拟栈 - 基于
ToyLinkedList
实现的LinkedListStack
,在链表头模拟栈
API:
基础 | 增 | 删 | 查 | 改 |
---|---|---|---|---|
getSize() | push(e) | pop() | peek() | |
isEmpty() |
04.队列 ToyQueue
代码链接:https://github.com/skychx/Toy-Data-Structures/blob/main/04-Queue/ToyQueue.d.ts
ToyQueue
有三个实现:
- 基于
ToyArray
实现的ArrayQueue
,实现最为简单,缺点是dequeue()
时间复杂度为O(n)
LoopQueue
,底层依旧是数组,但是把dequeue()
时间复杂度优化为O(1)
LinkedListQueue
,基于链表实现的队列
API:
基础 | 增 | 删 | 查 | 改 |
---|---|---|---|---|
getSize() | enqueue(e) | dequeue() | getFront() | |
isEmpty() |
一个小尾巴
欢迎关注公众号:卤代烃实验室:专注于前端技术、混合开发、图形学领域,只写有深度的技术文章