任何人都可以提出转到容器,简单快速的FIF /队列,Go有3个不同的容器:heap,list和vector。哪一个更适合实现队列?
3 回答

青春有我
TA贡献1784条经验 获得超8个赞
实际上,如果您想要的是基本且易于使用的fifo队列,则slice可满足您的所有需求。
queue := make([]int, 0)
// Push to the queue
queue = append(queue, 1)
// Top (just get next element, don't remove it)
x = queue[0]
// Discard top element
queue = queue[1:]
// Is empty ?
if len(queue) == 0 {
fmt.Println("Queue is empty !")
}
当然,我们假设我们可以信任append和slice的内部实现,从而避免了无用的调整大小和重新分配。对于基本用法,这已经足够了。
- 3 回答
- 0 关注
- 205 浏览
添加回答
举报
0/150
提交
取消