xing-chuan

JS模拟堆栈和队列操作
在面向对象的设计模式中, 一般提供了队列(queue)和堆栈(stack)的方法, 而对于 JS , 可以用数组来...
扫描右侧二维码阅读全文
27
2018/06

JS模拟堆栈和队列操作

在面向对象的设计模式中, 一般提供了队列(queue)和堆栈(stack)的方法, 而对于 JS , 可以用数组来模拟其操作流程:

堆栈

堆栈操作只允许在一端添加、删除操作, 这端叫做栈顶, 另一端叫做栈底, 秉承后进先出的原则.

    const arr = []
    for (let i = 0; i < 5; i++) {
      const temp = i + 1
      arr.push(temp) 
      console.log(`${temp}, 进栈了`)
    }
    console.log('\n')
    const len = arr.length
    for (let i = 0; i < len; i++) {
      console.log(arr.pop() + `, 出栈了`)
    }

队列

队列操作允许前端插入, 后端取出, 秉承先进先出的原则.

    const arr = []
    for (let i = 0; i < 5; i++) {
      const temp = i + 1
      arr.unshift(temp) 
      console.log(`${temp}, 插入队列`)
    }
    console.log('\n')
    const len = arr.length
    for (let i = 0; i < len; i++) {
      console.log(arr.pop() + `, 出来了`)
    }
最后修改:2018 年 06 月 27 日 11 : 09 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论