题目描述:
实现一个队列,使其具有入队列,出队列,查看队列元素等功能。
队列介绍:
队列是一个有序列表,可以用数组或是链表来实现。
遵循先入先出的原则,即先存入队列的数据,要先取出。后存入要后取出。
数组实现
rear是队列最后(含最后)
front是队列的最前元素(不含)
代码如下:
package main
import (
"errors"
"fmt"
"os"
)
//使用一个结构体管理队列
type Queue struct {
maxSize int
array [5]int //数组--》模拟队列
front int //表示指向队列首部
rear int //表示指向队列的尾部
}
//添加数据到队列
func (this *Queue) AddQueue(val int) (err error) {
//先判断队列是否已满
if this.rear == this.maxSize-1 {
//重要重要:rear是队列尾部含队尾,
return errors.New("queue full"