Non recursive Queue/Tree solution implementation

This commit is contained in:
semblanceofsense
2025-02-01 15:09:47 -07:00
parent fe768dadc4
commit 5644b23e33
4 changed files with 77 additions and 27 deletions

View File

@@ -7,18 +7,18 @@ type QueueInterface interface {
type Queue[T any] []T
func (q Queue[T]) Enqueue(v T) {
q = append(q, v)
func (q *Queue[T]) Enqueue(v T) {
*q = append(*q, v)
}
func (q Queue[T]) Dequeue() T {
x := q[0]
q = q[1:]
func (q *Queue[T]) Dequeue() T {
x := (*q)[0]
*q = (*q)[1:]
return x
}
func (q Queue[T]) IsEmpty() bool {
if len(q) == 0 {
func (q *Queue[T]) IsEmpty() bool {
if len(*q) == 0 {
return true
}
return false;