一、栈的定义

一种后进先出的数据结构。

  1. 栈顶是个闭口,能够放入元素即push(),移除元素即pop()。
  2. 栈底关闭,不能操作元素。

二、栈的办法

三、js实现栈的办法

//创立一个函数结构器,用来创建对象var Stack = function(){  //能够以数组模仿栈,首元素为栈底,尾元素为栈顶  var items = []  //入栈 从栈顶进入一个元素  this.push = function(element){    return items.push(element)  }  //出栈 从栈顶移除一个元素  this.pop = function(){    return items.pop()  }  //peek 查看栈顶元素  this.peek = function(){    return items[items.length - 1]  }  //查看栈有多少个元素  this.size = function(){    return items.length  }  //判断栈是否为空  this.isEmpty = function(){    return items.length == 0  }  //清空栈  this.clear = function(){    items = []  }  //查看数组   this.getItems = function(){    return items  }}

三、实例演战

  1. 将十进制转换为二进制

代码如下:

//接下面代码//申明定义一个函数,用来十进制转换二进制![QQ截图20200730124609.png](/img/bVbKuix)var transform = function(number){//创立一个Stack对象  var dtb = new Stack()  var string = ''  //将number除2失去的余数,放入到栈顶,也就是数组尾元素  while(number > 0){    var remainder =  number % 2     dtb.push(remainder)     number = Math.floor(number / 2)  }  //判断栈是否为空,不为空则移除栈顶元素。  while(!dtb.isEmpty()){  //把移除的栈顶元素拼接成一个字符串     string += dtb.pop()  }  return string}

运行后果