分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

js 实现数据结构 -- 栈

发布时间:2023-09-06 02:33责任编辑:顾先生关键词:js

原文:

  在 Javascript 中学习数据结构与算法。

概念:

  栈是一种遵从先进后出 (LIFO) 原则的有序集合;新添加的或待删除的元素都保存在栈的末尾,称作栈顶,另一端为栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。

  原理很简单,在数组的基础上限制了行为。

  下面是 js 来实现的一个栈:

class Stack { ???// private items; ???constructor() { ???????this.items = []; ???}; ???// 入栈 ???push(item) { ???????this.items.push(item); ???} ???// 出栈 ???pop() { ???????return this.items.pop(); ???} ???// 末位元素 ???get peek() { ???????return this.items[this.items.length - 1]; ???} ???// 是否为空栈 ???get isEmpty() { ???????return !this.items.length; ???} ???// 长度 ???get size() { ???????return this.items.length; ???} ???// 清空 ???clear() { ???????this.items = []; ???} ???// 打印数据 ???print() { ???????console.log(this.items.toString()); ???}}let s1 = new Stack();console.log(s1.isEmpty); ?// trues1.push(5);s1.push(9);console.log(s1.peek); ?// 9s1.push(1);console.log(s1.peek); ?// 1console.log(s1.size); ?// 3console.log(s1.isEmpty); ?// false

js 实现数据结构 -- 栈

原文地址:https://www.cnblogs.com/cc-freiheit/p/10435596.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved