当前位置: 首页 > 后端技术 > Node.js

Javascript实现基本数据结构栈

时间:2023-04-03 11:58:44 Node.js

Javascript工程师总会面临一个问题,数据结构和算法会成为自己的短板,不仅对于非专业的工程师,对于一些有专业背景的工程师来说也是如此,所以才有了这个系列文章。基础决定深度,前端易上手,爬难,学习曲线陡峭。很多时候就是因为缺乏这些思考。今天实现的是最基本的数据结构之一。栈在js中非常重要。基本类型将存储在堆栈中,您可以操作实际值。要定义栈,首先需要了解栈的基本结构是什么,需要遵循什么规则。栈是一个线性表,一个遵循后进先出原则的有序集合,即先进后出,先入栈的元素会存放在栈底,后入的元素会依次入栈放在栈顶,就像我们小时候看到的粮仓一样,最先进来的小麦放在栈底。而且,只有栈的一端是可操作的,也就是栈顶。functionStack(){}首先创建一个函数(对象)来表示堆栈。让项目=[];然后你需要创建一个数组来保存需要保存的元素。this.push=function(element){items.push(element)}//调用数组的push方法向栈中添加元素this.pop=function(){returnitems.pop();}//调用数组的pop方法取出栈顶元素并返回元素this.peek=function(){returnitems[items.length-1]}//调用数组的peek方法,并返回栈顶的第一个元素,也就是整个栈尾的一个元素。this.isEmpty=function(){返回items.length==0;}//检查堆栈是否为空并返回一个布尔值this.size=function(){returnitems.length;}//返回栈的长度this.clear=function(){items=[];}//删除栈中的所有元素this.print=function(){console.log(items.toString)}//取出栈中的所有元素然后需要给Stack定义方法functionStack(){let项目=[];this.push=function(element){items.push(element)console.log(this)}this.pop=function(){returnitems.pop();}this.peek=function(){returnitems[items.length-1]}this.isEmpty=function(){returnitems.length==0;}this.size=function(){returnitems.length;}这.clear=function(){items=[];}this.print=function(){console.log(items.toString())}}这样就简单的创建了栈。接下来,我们需要尝试栈的基本功能letstack=newStack();定义一个新的对象console.log(stack.__proto__)//__proto__等于prototype.constructorstack是这样创建的