队列的顺序存储

本文介绍了队列的基本概念,重点讲述了队列的顺序存储实现,包括定义与初始化、入队与出队操作,并详细讨论了三种判断队满和队空的方案,提供了具体的逻辑条件和初始化设置。
摘要由CSDN通过智能技术生成

一、队列的定义:

队列是只允许在一端进行插入,另一端进行删除的线性表
特点:先入队的元素先出队,先进先出
队尾:允许插入的一端
队头:允许删除的一端

front 指向队头元素
rear 指向队尾元素的后一个元素(下一个应该插入的位置)
注意:具体题目中的rear 和 front 可能会跟上面不同,代码实现会有所区别

二、队列的顺序存储的实现

1.定义与初始化

#define MaxSize 10

typedef struct 
{
   
	int data[MaxSize];  //静态数组存放队列
	int front,rear;     //队头指针和队尾指针
}SqQueue;

void InitQueue(SqQueue &Q)
{
      
	//初始化时 队头、队尾指针指向0
	Q.rear = Q.front = 0;
}

void testQueue()
{
   
	SqQueue Q;//声明一个队列(顺序存储)

	InitQueue(Q);
}

2.入队与出队

循环队列:将存储空间在逻辑上变成“环状”

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值