队列及进队和出队流程

本文介绍了先进先出队列(FIFO)的数据结构,包括队尾插入和队头删除的操作,以及顺序队的实现方法。特别提到了队列在管理网络流量中的应用,尤其是消息队列在应对突发流量中的作用。
摘要由CSDN通过智能技术生成

定义:简称队,又叫先进先出表,是一种操作受限的线性表,限制为 仅允许在表的一端进行插入操作,在表的另一端进行删除操作。

内容:

①队尾:进行插入的一端。

    队头(队首):进行删除的一端。

②入队(进对):向队列中插入新元素,新元素进队之后成为新的队尾元素。

    出队(离队):从队列中删除元素,删除之后,其后继元素成为队首元素。

特点:尾进头出。

基本运算实现:

队首指针(q->front):储存队首元素的下标位置。

队尾指针(q->rear):储存队尾元素的下标位置。

顺序队实现队列的基本运算:

小知识:存放数据的结点包括数据域和指针域两部分,所以进队和出队时两部分都需要改变。

               数据域:存储元素数值数据。

               指针域:存储其结点的直接后继结点的存储位置。

4个要素:

约定在顺序队中队头指针front指向当前队列中队头元素的前一个位置。

①队空条件:q->front==q->rear。一般为q->front=-1。

②队满条件:q->rear==MaxSize-1。

③进队操作:rear++,向后移动一个,即q->rear++;

                     再把元素插入,放在data数组的rear位置,即q->data[q->rear]=e;(e代表进队的那个元                       素)。

④出队操作:front++,向后移动一个,即q->front++;

                      再把元素删除,把元素赋值给一个值(如e),即e=q->data[q->front];·

应用:管理网络流量。

小tips:消息队列可以去了解一下,跟购物,秒杀活动,突然猛增的流量有关系(例如半夜🍑搞活动,人流量突然增多,程序如何处理,就需要用到消息队列),我不太了解,就不说了,以后了解彻底了,再说,欢迎大家发言,消息队列,补充更多知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值