mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-05 00:25:22 +08:00
34 lines
565 B
Go
34 lines
565 B
Go
package structures
|
|
|
|
// Queue 是用于存放 int 的队列
|
|
type Queue struct {
|
|
nums []int
|
|
}
|
|
|
|
// NewQueue 返回 *kit.Queue
|
|
func NewQueue() *Queue {
|
|
return &Queue{nums: []int{}}
|
|
}
|
|
|
|
// Push 把 n 放入队列
|
|
func (q *Queue) Push(n int) {
|
|
q.nums = append(q.nums, n)
|
|
}
|
|
|
|
// Pop 从 q 中取出最先进入队列的值
|
|
func (q *Queue) Pop() int {
|
|
res := q.nums[0]
|
|
q.nums = q.nums[1:]
|
|
return res
|
|
}
|
|
|
|
// Len 返回 q 的长度
|
|
func (q *Queue) Len() int {
|
|
return len(q.nums)
|
|
}
|
|
|
|
// IsEmpty 反馈 q 是否为空
|
|
func (q *Queue) IsEmpty() bool {
|
|
return q.Len() == 0
|
|
}
|