数据结构(一)栈JS实现

数据结构(一)栈JS实现

前言

数据结构就是数据在计算机中存储的结构方式

例如,一个图书馆里的书如何存储,以什么样的结构存储方便人查询,插入?

常见的数据结构

  • 数组(Array)
  • 链表(Linked_List)
  • 栈(Stack)
  • 队列(Queue)
  • 哈希表(Hash)
  • 树(Tree)
  • 图(Graph)

1.栈结构(Stack)

栈是一种受限的线性数据结构,插入的元素要求先进后出(FILO or LIFO),计算机中的程序函数的调用就是符合栈结构先进后出

在这里插入图片描述

常见栈操作

  • push():添加一个元素到栈顶
  • pop():移除栈顶元素,返回被移除的元素
  • peek():返回栈顶元素,不做修改
  • isEmpty():查看栈元素个数时候为空
  • size():查看栈元素个数
  • toString():返回所有栈元素加起来的字符串

代码

  class stack {
        constructor() {
          this.item = []
        }

        push(item) {
          this.item.push(item)
        }

        pop() {
          return this.item.pop()
        }

        peek() {
          return this.item[this.item.length - 1]
        }

        isEmpty() {
          return this.item.length == 0
        }

        toString() {
          let str = ''
          for (let index = this.item.length - 1; index >= 0; index--) {
            str = str + this.item[index] + ' '
          }

          return str
        }
      }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值