您的位置 首页 编程知识

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

我一直在尝试学习一门新的编程语言,还有什么比从基础开始更好的方法呢。在这一系列的文章中,我将尝试使用 go 实…

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

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

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

什么是堆栈

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

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

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

package main  import "fmt"  type Stack []int  func (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 基础知识 – 实施堆栈的详细内容,更多请关注php中文网其它相关文章!

本文来自网络,不代表四平甲倪网络网站制作专家立场,转载请注明出处:http://www.elephantgpt.cn/2709.html

作者: nijia

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

18844404989

在线咨询: QQ交谈

邮箱: 641522856@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部