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

这篇博客介绍了如何在Golang中使用数组模拟队列数据结构,遵循先入先出原则。文章详细阐述了队列的基本概念,通过定义结构体、添加数据、显示和取出数据的步骤,演示了数组在实现队列过程中的应用。最后,指出虽然实现了基本队列,但需改进以更有效地利用数组空间,如采用环形队列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值