js中的栈
文章类型:Javascript
发布者:hp
发布时间:2023-04-22
一:定义
栈是一种数据结构,它采用后进先出(LIFO)或者说先进后出的原则。栈可以用数组来实现,也可以使用链表来实现
二:常用操作
1:push:将元素添加到栈的顶部。
2:pop:从栈的顶部移除元素,并返回该元素。
3:peek:返回栈顶部的元素,但不会将其从栈中移除。
4:isEmpty:检查栈是否为空。
三:实现方式
1:数组
const stack = [];
// 添加元素到栈中
stack.push(1);
stack.push(2);
stack.push(3);
// 从栈中移除元素
stack.pop(); // 3
// 获取栈顶部的元素
stack[stack.length - 1]; // 2
// 检查栈是否为空
stack.length === 0; // false
2:链表
const stack = [];
// 添加元素到栈中
stack.push(1);
stack.push(2);
stack.push(3);
// 从栈中移除元素
stack.pop(); // 3
// 获取栈顶部的元素
stack[stack.length - 1]; // 2
// 检查栈是否为空
stack.length === 0; // false
四:图解
五:总结
1:常用于解决算法问题和处理程序流程。
2:基本类型的变量和对象的引用存入在栈中,栈内的数据可以共享