队列(三)

队列(三)队列绪论队列的数据类型队列绪论前两篇文章讲完了栈,现在开始总结归纳队列。我们知道,队列的本质也是线性表,只不过是操作受限的线性表,当对于栈来说,队列的操作位置相对更加自由。队列可以在序列的首端和尾端进行操作。队列的首端只能删除元素,尾端只能插入元素,这也就是其操作特性先进先出(FIFO)在讨论完队列的逻辑结构之后,就可以讨论物理结构。我们知道物理结构有顺序存储和链式存储,将这个和队列的操作特性结合起来有以下两种队列:顺序队列链队队列本文只讨论队列,然后就是关于队列的一些基本操作
摘要由CSDN通过智能技术生成

队列绪论

前两篇文章讲完了栈,现在开始总结归纳队列。我们知道,队列的本质也是线性表,只不过是操作受限的线性表,当对于栈来说,队列的操作位置相对更加自由。队列可以在序列的首端和尾端进行操作。

队列的首端只能删除元素,尾端只能插入元素,这也就是其操作特性先进先出(FIFO)
在这里插入图片描述
在讨论完队列的逻辑结构之后,就可以讨论物理结构。我们知道物理结构有顺序存储和链式存储,将这个和队列的操作特性结合起来有以下两种队列:

  • 顺序队列
  • 链队队列

本文只讨论队列,然后就是关于队列的一些基本操作:

在这里插入图片描述

队列的数据类型

队列只能在队首删除元素,在队尾插入元素。因此表示一个队列的时候,需要知道这个队列的 队首队尾

因此我们要创建一个控制表,这个控制表里面有队列的队首,队尾还有一段元素空间存放元素,当然顺序队列和链队列的基本思想都是差不多的,但是实现起来是不一样的。

顺序队列需要有三个单元,他们的作用如下:

  1. 存放一段连续数组空间的指针
  2. 存放队首元素的下标
  3. 存放队尾元素的下标
    在这里插入图片描述

链队列和链栈一样,首先需要有结点类型结点类型由数据域和指针域组成,而且需要一个控制表可以控制链表的头部和尾部。如图所示,该链表的头结点在顶端:
在这里插入图片描述

//顺序队列
#define MAXSIZE 7 //可以根据自己的需求来定义大小
typedef int DataType;
typedef struct Queue{
   
	DataType data[MAXSIZE];
	int front;
	int rear
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值