mirror of
https://github.com/cubixle/codekata-golang.git
synced 2026-04-29 15:18:45 +01:00
code kata 230811
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
package main
|
||||
|
||||
type Queue []interface{}
|
||||
|
||||
func MakeQueue() *Queue {
|
||||
return &Queue{}
|
||||
}
|
||||
|
||||
func (q Queue) Len() int {
|
||||
return len(q)
|
||||
}
|
||||
|
||||
func (q Queue) IsEmpty() bool {
|
||||
return len(q) == 0
|
||||
}
|
||||
|
||||
func (q *Queue) EnQueue(item interface{}) {
|
||||
*q = append(append(*q, item))
|
||||
}
|
||||
|
||||
func (q *Queue) DeQueue() interface{} {
|
||||
if (*q).Len() == 0 {
|
||||
return nil
|
||||
}
|
||||
item := (*q)[0]
|
||||
*q = (*q)[1:len(*q)]
|
||||
return item
|
||||
}
|
||||
Reference in New Issue
Block a user