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:基本类型的变量和对象的引用存入在栈中,栈内的数据可以共享