26 lines
356 B
Go
26 lines
356 B
Go
package queue
|
|
|
|
type QueueInterface interface {
|
|
enqueue(int)
|
|
dequeue() int
|
|
}
|
|
|
|
type Queue[T any] []T
|
|
|
|
func (q *Queue[T]) Enqueue(v T) {
|
|
*q = append(*q, v)
|
|
}
|
|
|
|
func (q *Queue[T]) Dequeue() T {
|
|
x := (*q)[0]
|
|
*q = (*q)[1:]
|
|
return x
|
|
}
|
|
|
|
func (q *Queue[T]) IsEmpty() bool {
|
|
if len(*q) == 0 {
|
|
return true
|
|
}
|
|
return false;
|
|
}
|