数据结构与算法(一)--- 栈
2021/11/25 17:11:13
本文主要是介绍数据结构与算法(一)--- 栈,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前端数据结构与算法
- 数据结构与算法
- 好处
- 核心
- 栈
- 概念
- 栈的实现
- 获取最小值的栈
数据结构与算法
好处
- 可以让代码化繁为简
- 提高代码性能
- 通过一些公司面试
核心
栈
概念
栈是一种遵循后进先出原则的有序集合。
添加新元素的一端成为栈顶,另一端成为栈底。
栈的实现
入栈:push()
出栈:pop()
获取栈顶值:top()
获取栈的元素个数:size()
清空栈:clear()
// 栈的实现 class Stack { constructor() { // 存储栈的数据 this.data = []; // 记录栈的数据个数(相当于数组的length) this.count = 0; } // push 入栈方法 push (item) { // 方式一 // ~~this.data.push(item)~~ // 方式二 // ~~this.data[this.data.length] = item;~~ // 方式三 this.data[this.count] = item; // 添加后count要自增 this.count++; } // pop 出栈的方法 pop () { // 出栈的前提是栈内有值,故应先进行检测 if (this.isEmpty()) return; // 移除栈顶数据 // 方式一 // 数组方法,pop移除 // this.data.pop(); // retur this.data; // 方式二 // 计数方式 const temp = this.data[this.count - 1]; delete this.data[this.count - 1]; this.count--; return temp; } // 检测栈是否为空 isEmpty () { return this.count === 0 } // top 用于获取栈顶值 top () { if ( this.isEmpty()) return; return this.data[this.count - 1] } // size 获取栈的数据个数 size () { return this.count; } // clear 用于清空栈数据 clear () { this.data = []; this.count = 0; } }
获取最小值的栈
https://leetcode-cn.com/problems/min-stack/submissions/
这篇关于数据结构与算法(一)--- 栈的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28微服务架构中API版本控制的实践
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南