重新学习 CS 基础知识 – 实施堆栈

重新学习 CS 基础知识 - 实施堆栈

我一直在尝试学习一门新的编程语言,还有什么比从基础开始更好的方法呢。在这一系列的文章中,我将尝试使用 go 实现一个简单的数据结构和算法。 

在 clrs 的算法简介一书中的基本数据结构章节中,讨论的第一个数据结构是堆栈。

什么是堆栈

堆栈是一种简单的数据结构,用于存储一组项目。堆栈的属性是它允许我们将项目添加到堆栈顶部并从堆栈中删除,因此它遵循后进先出原则或 lifo。

插入操作称为push,删除操作称为pop。由于我们不想弹出空堆栈并处理内存错误,因此我们还实现了对堆栈是否为空的检查。相当简单的数据结构。

下面你可以找到golang中堆栈的实现。使用堆栈的时间复杂度为 o(n),空间复杂度为 o(1)

  1. package mainimport "fmt"type Stack []intfunc (stack *Stack) Push (value int){ *stack = append(*stack, value)}func (stack *Stack) Pop () int{ if stack.IsEmpty() { return 0 } top := (*stack)[len(*stack)-1] *stack = (*stack)[:len(*stack)-1] return top}func (stack *Stack) IsEmpty() bool{ return len(*stack) == 0}func main(){ st := Stack{} st.Push(1) st.Push(2) fmt.Println(st.Pop())}

登录后复制

以上就是重新学习 CS 基础知识 – 实施堆栈的详细内容,更多请关注【创想鸟】其它相关文章!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

点点赞赏,手留余香

给TA打赏
共0人
还没有人赞赏,快来当第一个赞赏的人吧!
    编程技术

    了解 Go 中的堆栈和堆:简单指南

    2025-2-28 16:04:59

    编程技术

    SOLID 原则简介:代码的英雄传奇

    2025-2-28 16:05:12

    0 条回复 A文章作者 M管理员
    欢迎您,新朋友,感谢参与互动!
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    私信列表
    搜索