Golang数据结构-队列(数组)


一、Golang数据结构-队列(数组)

1.基本介绍

(1)队列是一个有序列表,可以用数组或者是链表来实现。
(2)遵循先入先出原则。即:先存入队列的数据,要先取出。后存入的要后取出

2.处理方法

数组模拟队列

(1)队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下:

type Queue struct{
   
	maxSize int
	array [5]int	//数组-> 模拟队列
	front int 		//表示指向队列首
	rear int		//表示指向队列尾
}

(2)因为队列的输出、输入分别从前后端来处理,因此需要两个变量front及rear分别记录队列前后端的下标,front会随着数据输出而改变,而rear则是随着数据输入而改变
(3)当我们将数据存入队列时成为“addqueue”,“addqueu”的处理需要有两个步骤:
① 将尾指针后移:rear + 1。当front == rear 时,队列为空
②若尾指针rear小于等于队列的最大下标MaxSize - 1,则将数据存入rear所指的数组元素中,否则无法存入数据
注意:rear指队列队尾,包含队尾元素;front指队列队首,并不包含队首元素

二、使用步骤

1.使用一个结构体管理队列

代码如下:

package main
import(
	"fmt"
	"errors"
	"os"
)
//使用一个结构体管理队列
type Queue struct{
   
	maxSize int
	array [5]int	//数组-> 模拟队列
	front int 		//表示指向队列首
	rear int		//表示指向队列尾
}

2.添加队列数据

代码如下:

	func (this *Queue) AddQueue(val int)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值