talk is cheap, show me the code.
栈
First In Last Out
// 初始化容器
const stack = []
// 数据入栈
stack.push(1)
stack.push(2)
stack.push(3)
console.log(stack)
// 获取栈顶元素
if (stack.length > 0) {
stack[stack.length - 1]
}
// 栈顶元素出栈
console.log(stack.pop())
console.log(stack.pop())
console.log(stack.pop())
控制台输出
[1, 2, 3]
3
2
1
队列
First In First Out
左进右出
// 初始化容器
const queue = []
// 数据入队
queue.unshift(1)
queue.unshift(2)
queue.unshift(3)
console.log(queue)
// 获取右队首元素
if (queue.length > 0) {
queue[queue.length - 1]
}
// 右队首元素出队
console.log(queue.pop())
console.log(queue.pop())
console.log(queue.pop())
控制台输出
[3, 2, 1]
1
2
3
右进左出
// 初始化容器
const queue = []
// 数据入队
queue.push(1)
queue.push(2)
queue.push(3)
console.log(queue)
// 获取左队首元素
if (queue.length > 0) {
queue[0]
}
// 左队首元素出队
console.log(queue.shift())
console.log(queue.shift())
console.log(queue.shift())
控制台输出
[1, 2, 3]
1
2
3
本文介绍了栈和队列两种基本数据结构。栈遵循FirstInLastOut原则,通过push和pop操作演示了其入栈和出栈过程;队列则分为左进右出和右进左出两种模式,分别用unshift和shift以及push和pop操作展示。通过实例展示了这两种数据结构在实际编程中的应用。
1308

被折叠的 条评论
为什么被折叠?



