为了账号安全,请及时绑定邮箱和手机立即绑定

Go 中的 LIFO 容器

Go 中的 LIFO 容器

Go
POPMUISE 2021-06-18 19:12:16
我需要使用具有推送和弹出操作的 LIFO 堆栈容器,但container包没有。它应该由每个程序员临时编写,还是有一种方法可以使用其他数据结构作为堆栈(如 python 中的列表)?
查看完整描述

2 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

Go 或标准库中没有内置堆栈类型。但是,您可以非常简单地将 Push 和 Pop 方法添加到切片中(与 Python 中列表上的现有方法不同)。


type Stack []YourType


func (s *Stack) Push(v YourType) {

    *s = append(*s, v)

}


func (s *Stack) Pop() YourType {

    ret := (*s)[len(*s)-1]

    *s = (*s)[0:len(*s)-1]

    return ret

}

很简单


查看完整回答
反对 回复 2021-06-21
  • 2 回答
  • 0 关注
  • 149 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信