##用JS实现队列和堆栈
在JS中可以利用数组来实现队列和堆栈,利用数组来实现队列和堆栈的操作,其实就是用这一操作将它们的特性表现出来。
-
队列
特点:先进后出
在队列尾部添加数据,头部取出数据,通过JS内置的push()和pop()方法实现。
let arr = []
console.log('入队')
arr.push(1)
console.log(arr) // [1]
arr.push(2)
console.log(arr) // [1, 2]
arr.push(3)
console.log(arr) // [1, 2, 3]
arr.push(4)
console.log(arr) // [1, 2, 3, 4]
console.log('出队')
console.log(arr.pop()) // 4
console.log(arr.pop()) // 3
console.log(arr.pop()) // 2
console.log(arr.pop()) // 1
- 堆栈
特点:先进后出
先进栈的元素放在栈底,栈顶存放的是后入栈的元素。利用JS的shift()和unshift()方法实现。
let arr = []
console.log('入栈')
arr.unshift(1)
console.log(arr)
arr.unshift(2)
console.log(arr)
arr.unshift(3)
console.log(arr)
arr.unshift(4)
console.log(arr) // [4, 3, 2, 1]
console.log('出栈')
console.log(arr.shift()) // 4
console.log(arr.shift()) // 3
console.log(arr.shift()) // 2
console.log(arr.shift()) // 1