7大数据结构之队列篇

1、什么是队列

队列是一种先进先出的(First In First Out)的线性表,简称FIFO

示例图:
7大数据结构之队列篇_第1张图片
7大数据结构之队列篇_第2张图片

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、环形对列
7大数据结构之队列篇_第3张图片
7大数据结构之队列篇_第4张图片
2、双向队列
7大数据结构之队列篇_第5张图片

4、队列的实际应用

迷宫问题
7大数据结构之队列篇_第6张图片

你可能感兴趣的:(算法,数据结构,队列,队列,数据结构,算法)