package main
import "fmt"
type Queue struct {
element []int
}
//建立一個新隊列
func NewQueue()*Queue{
return &Queue{}
}
//判斷隊列是否為空
func (s *Queue)IsEmpty()bool{
if len(s.element) == 0 {
return true
}else {
return false
}
}
//求隊列的長度
func (s *Queue)GetQueueLength()int{
return len(s.element)
}
//進隊操作
func (s *Queue)Push(value int) {
s.element = append(s.element, value)
}
//出隊操作
func (s *Queue)Pop()bool{
if s.IsEmpty(){
return false
}else{
s.element = s.element[1:]
}
return true
}
//列印隊列
func (s *Queue)Print(){
for i := 0;i <= s.GetQueueLength()-1;i++{
fmt.Printf("%d ", s.element[i])
}
fmt.Printf("\n")
}
func main(){
queue := NewQueue()
queue.Push(1)
queue.Push(3)
queue.Push(5)
queue.Print()
queue.Pop()
queue.Print()
}