使用JS的类实现一个栈的类 并实现栈里面的常用API

// 定义一个栈的类 实现栈的push pop getMax getMin等函数 // 并实现先进后出 后进先出 而且能够不断求出 当前栈里面的数据的最大值最小值classStack{constructor(){this.dataStack=[];this.maxStack=[];this.minStack=[];}// 入栈push(item){if(this.minStack.length<=0){this.minStack.push(item)}elseif(item<=this.getMin()){this.minStack.push(item)}if(this.maxStack.length<=0){this.maxStack.push(item)}elseif(item>=this.getMax()){this.maxStack.push(item)}this.dataStack.push(item);}// 出栈pop(){if(this.dataStack.length<=0){return}letvalue=this.dataStack.pop();if(value==this.getMin()){this.minStack.pop()}if(value==this.getMax()){this.maxStack.pop();}returnvalue;}// 求最小值getMin(){if(this.minStack.length<=0){return0;}returnthis.minStack[this.minStack.length-1];}// 求最大值getMax(){if(this.maxStack.length<=0){return0;}returnthis.maxStack[this.maxStack.length-1];}}// 创建栈的对象varstack=newStack();// 调用入栈stack.push(3);stack.push(5);stack.push(10);stack.push(7);stack.push(6);// 调用求最大值 最小值的函数console.log(stack.dataStack);console.log(stack.getMax());console.log(stack.getMin());// 出栈stack.pop();stack.pop();// 出栈后的最大值最小值console.log(stack.getMax());console.log(stack.getMin());console.log(stack.minStack);console.log(stack.maxStack);stack.pop();console.log(stack.getMax());console.log(stack.getMin());console.log(stack.minStack);console.log(stack.maxStack);stack.pop();console.log(stack.getMax());console.log(stack.getMin());console.log(stack.dataStack);console.log(stack.maxStack);stack.pop();console.log(stack.getMax());console.log(stack.getMin());console.log(stack.dataStack);console.log(stack.maxStack);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 有关栈的记录: // 栈----先进后出 // 栈的方法: // push 添加一个元素到栈顶 // po...
    依稀_Sting阅读 923评论 0 0
  • 作者:同梦奇缘链接:https://segmentfault.com/a/1190000017905515 一、认...
    grain先森阅读 14,845评论 0 14
  • 大家好,我是猿二哥,今天我想和大家一起分享一下我最近的学习数据结构的心得,今天我们学习利用js的数组实现栈和队列。...
    黄昏之前阅读 3,770评论 0 1
  • 1. javascript的typeof返回哪些数据类型. 答案:string,boolean,number,un...
    O蚂蚁O阅读 12,647评论 5 248
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 12,182评论 16 22