go实现队列

package main
 
import (
    "container/list"
    "fmt"
)
 
// Queue 是一个用 list.List 实现的简单队列
type Queue struct {
    queue *list.List
}
 
// NewQueue 创建一个新的空队列
func NewQueue() *Queue {
    return &Queue{
        queue: list.New(),
    }
}
 
// Enqueue 将一个元素添加到队列的末尾
func (q *Queue) Enqueue(value interface{}) {
    q.queue.PushBack(value)
}
 
// Dequeue 从队列的前端移除一个元素
func (q *Queue) Dequeue() interface{} {
    front := q.queue.Front()
    if front != nil {
        q.queue.Remove(front)
        return front.Value
    }
    return nil
}
 
// IsEmpty 检查队列是否为空
func (q *Queue) IsEmpty() bool {
    return q.queue.Len() == 0
}
 
func main() {
    q := NewQueue()
    q.Enqueue("Alice")
    q.Enqueue("Bob")
    q.Enqueue("Charlie")
 
    for !q.IsEmpty() {
        fmt.Printf("Dequeued: %v\n", q.Dequeue())
    }
}

相关推荐

  1. go实现队列

    2024-03-28 05:38:03       16 阅读
  2. Go语言实现数据结构栈和队列

    2024-03-28 05:38:03       26 阅读
  3. 每日一题 --- 用栈实现队列[力扣][Go]

    2024-03-28 05:38:03       13 阅读
  4. redis 实现队列

    2024-03-28 05:38:03       47 阅读
  5. kafka实现延迟队列

    2024-03-28 05:38:03       25 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-28 05:38:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-28 05:38:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-28 05:38:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-28 05:38:03       18 阅读

热门阅读

  1. python提取视频中的音频

    2024-03-28 05:38:03       18 阅读
  2. 贪心算法C++

    2024-03-28 05:38:03       17 阅读
  3. 稀碎从零算法笔记Day31-LeetCode:接雨水

    2024-03-28 05:38:03       19 阅读
  4. HuggingFace: 掌握自然语言处理的利器

    2024-03-28 05:38:03       19 阅读
  5. lua 获取指定路径下的所有文件夹

    2024-03-28 05:38:03       18 阅读
  6. LEETCODE-DAY35

    2024-03-28 05:38:03       14 阅读
  7. 3、RabbitMQ_工作模式

    2024-03-28 05:38:03       14 阅读