1、什么是队列
队列是一种先进先出的(First In First Out)的线性表,简称FIFO
示例图:
2、数组实现队列
// 创建一个数组队列
type Queue struct {
list []int
}
// 写入一个值队列
func (q *Queue) EnQueue(val int){
q.list = append(q.list, val)
}
// 从队列中取出一个值
func (q *Queue) DeQueue()int{
if len(q.list) == 0 {
panic("empty queue")
}
val := q.list[0]
q.list = q.list[1:]
return val
}
// 测试
func main(){
q := Queue{}
q.EnQueue(1)
r := q.DeQueue()
fmt.Println(r)
}
3、环形队列和双向队列
1、环形对列
2、双向队列
4、队列的实际应用
迷宫问题