数据结构之栈的定义及构造函数 - Go语言中文社区

数据结构之栈的定义及构造函数


数据结构之栈定义及构造函数

  1. 栈的定义
    • 栈是一种线性数据结构,栈的特征是数据的插入和删除只能通过一端来实现,这一端称为“栈顶”,相应的另一端称为“栈底”;另外其还有先进后出,后进先出的特征。
    • 栈是一种高效的数据结构,因为数据只能在栈的顶端添加或者删除,所以这样的操作很快而且容易实现。
    • 说到线性结构,得先了解一下数据的逻辑结构,数据的逻辑结构分为线性结构、集合结构、树形结构和图形结构,如下图所示,栈是一种特殊的线性表,是线性结构的一种。
  2. JavaScript => 定义栈结构的构造函数 (node环境)
module.exports = function Stack() {
    // 初始化栈仓库
    const arr = []
    // 压栈
    this.push = item => arr.push(item)
    // 弹栈
    this.pop = () => arr.pop()
    // 返回栈顶元素
    this.top = () => arr[arr.length - 1]
    // 栈的大小
    this.size = () => arr.length
    // 栈是否为空
    this.isEmpty = () => arr.length === 0
    // 清空栈
    this.clear = () => arr.splice(0, arr.length)
}
版权声明:本文来源博客园,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.cnblogs.com/guojbing/p/10990822.html
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-11-17 17:14:07
  • 阅读 ( 1519 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢