栈
栈 是一种按照 后进先出(LIFO, Last In First Out) 的原理运作的一种特殊串列形式的数据结构, 推入和弹出的元素都是在栈的顶端, 称为 栈顶元素
创建栈
首先, 我们用链表的结构创建栈, 先定义栈元素的节点
1 | function Node(data) { |
定义栈的类
1 | function Stack() { |
实现栈的操作
栈有两种基本操作: 入栈(push)和出栈(pop)
- 入栈: 将节点元素加入栈的顶端, 栈顶指针向后移动一位, 栈长加一
- 出栈: 将节点元素从栈的顶端删除, 栈长减一
1 | // 入栈 |
队列
队列 是一种 先进先出(FIFO, First In First Out) 的线性表, 队列只允许在后端插入元素, 在前端进行删除元素
创建队列
在这里, 我们依然用链表的形式实现队列, 首先先定义队列的类, 其包括指向队列前端front的属性和指向队列末端rear的属性
1 | function Queue() { |
实现队列的操作
队列也有两种基本操作: 入队(enqueue)和出队(dequeue), 按照先进先出的原则实现代码
1 | // 入队 |