数据结构-栈

150 阅读1分钟

1、为什么学习数据结构

如果你手里只有锤子,那么目光所及之处都是钉子

2、栈的定义

栈是一种线性表,仅能在栈顶进行操作,有着后进先出的特性

3、用JavaScript实现栈结构

3.1 数据存储

function Stack() {
  var items = []
}

3.2 栈的方法

栈中应该有以下几种方法

  1. push - 压栈
  2. pop - 出栈
  3. top - 查找栈顶元素
  4. isEmpty - 判断栈是否未空
  5. size - 栈中元素个数
  6. clear - 清空栈 接下来用代码逐一实现这些代码

3.2.1 push

this.push = function (item) {
  items.push(item)
}

3.2.2 pop

this.pop = function () {
  return items.pop()
}

3.2.3 top

this.top = function () {
  return items.[items.length - 1]
}

3.2.4 isEmpty

this.isEmpty = function () {
  return items.length === 0
}

3.2.5 size

this.size = function () {
  return items.length
}

3.2.6 clear

this.clear = function () {
  items = []
}

3.3 最终完整代码

function Stack() {
  var items = []
  
  this.push = function (item) {
    items.push(item)
  }
  
  this.pop = function () {
    return items.pop()
  }
  
  this.top = function () {
    return items.[items.length - 1]
  }
  
  this.isEmpty = function () {
    return items.length === 0
  }

  this.size = function () {
    return items.length
  }

  this.clear = function () {
    items = []
  }
}