当前位置: 首页 > wzjs >正文

佛山电商网站制作团队免费大数据平台

佛山电商网站制作团队,免费大数据平台,南充市建设局官方网站,龙岩seo公司首荐3火星队列是一种常见的数据结构,遵循先进先出(FIFO)原则,即最先进入的元素最先被移除。它类似于现实生活中的排队,先到的人先接受服务。 主要操作 入队(Enqueue):将元素添加到队列的末尾…

队列是一种常见的数据结构,遵循先进先出(FIFO)原则,即最先进入的元素最先被移除。它类似于现实生活中的排队,先到的人先接受服务。

主要操作

  1. 入队(Enqueue):将元素添加到队列的末尾。

  2. 出队(Dequeue):移除并返回队列前端的元素。

  3. 查看队首(Peek/Front):返回队列前端的元素,但不移除。

  4. 判空(IsEmpty):检查队列是否为空。

  5. 获取大小(Size):返回队列中元素的数量。

实现方式

  1. 数组实现:使用数组存储元素,需处理数组大小限制。

  2. 链表实现:使用链表动态调整大小,避免数组大小问题。

应用场景

  • 任务调度:操作系统中的任务调度。

  • 数据缓冲:网络数据包的缓冲。

  • 广度优先搜索(BFS):用于遍历图或树结构。

#include <stdio.h>
#include <stdlib.h>
#define Max_Size 20
typedef int Elemtype;typedef struct Queue
{Elemtype Data[Max_Size];int front;int rear;
} Queue;
void Q_Init(Queue *q);              // 队列初始化
int isEmpty(Queue *q);              // 判断队列是否为空
Elemtype delQueue(Queue *q);        // 出队
int in_Queue(Queue *q, Elemtype e); // 入队
int fullQueue(Queue *q);            // 判断是否真的满了
void showQueue(Queue *q);           // 遍历队列
int queueSize(Queue *q);            // 得到队列里元素数量
int getHead(Queue *Q,Elemtype *e);
int main(int argc, char const *argv[])
{Queue *q = malloc(sizeof(Queue));Q_Init(q);in_Queue(q, 1);in_Queue(q, 2);in_Queue(q, 3);// printf("%d",q->Data[2]);showQueue(q);int size=0;size = queueSize(q);printf("%d",size);return 0;
}
void Q_Init(Queue *q)
{q->front = 0;//队头下标初始化q->rear = 0;//队尾下标初始化
}
int isEmpty(Queue *q)
{if (q->front == q->rear)//队头与队尾下标相同时为空{printf("队列为空\n");return 1;}else{return 0;}
}
Elemtype delQueue(Queue *q)
{if (q->front == q->rear){printf("队列为空\n");return 1;}Elemtype e;//临时变量e = q->Data[q->front];//临时变量承接删除元素q->front++;//队头后移return e;//返回删除元素
}
int in_Queue(Queue *q, Elemtype e)
{if (q->rear >= Max_Size)//检查是否对满{if (!fullQueue(q)){printf("经FULL函数检测已满\n");}return 1;}q->Data[q->rear] = e;//队尾处新元素赋值q->rear++;//队尾后移return 0;
}
int fullQueue(Queue *q)
{int step = 0;if (q->front > 0)//队头不为零,则是假溢出{step = q->front;//队头后移次数for (int i = q->front; i < q->rear; i++)//将队列内所有元素前移 step 步{q->Data[i - step] = q->Data[i];}q->front = 0;//队头更新q->rear = q->rear - step;//队尾更新}else{//printf("经FULL函数检测已满\n");return 0;}
}
void showQueue(Queue *q)
{printf("---------------\n");for (int i = q->front; i < q->rear; i++)//循环从队头打印到队尾前一个元素{printf("%d  ",q->Data[i]);}printf("\n");printf("---------------\n");
}
int getHead(Queue *Q,Elemtype *e)
{if (Q->front == Q->rear){printf("队列为空\n");return 1;}*e=Q->Data[Q->front];//指针指向队头return 0;
}
int queueSize(Queue *q)
{if (isEmpty(q)){return 0;}int temp=0;temp=q->front;int t=0;while (temp!=q->rear)//从队头开始自增直到队尾{temp++;t++;}return t;}

http://www.dtcms.com/wzjs/234505.html

相关文章:

  • 网站被墙 做301跳转个人如何做网络推广
  • 住房与城乡建设部网站 黑龙江搜索关键词优化
  • 淄博网站建设报价网络软文是什么意思
  • 调查网站做调查不容易过厦门seo网站优化
  • 成都企业网站建站合肥网站设计
  • 做的网站域名劫持中国万网域名查询
  • 网站建设公司有哪些郑州有没有厉害的seo
  • 网站建设的快乐类似互推商盟的推广平台
  • 网站建设佰首选金手指二五网络推广一般怎么收费
  • 太原建站模板系统合肥seo招聘
  • 网站建设骗子公司厦门百度快速优化排名
  • 广州网站建设排名seo 首页
  • wordpress完整主题杭州网站seo价格
  • 如何自己做游戏网站进入百度
  • php 怎么做 网站吗学做电商需要多少钱
  • 长宁区网站建设网站制作平台推广是什么工作
  • 企业网站建设公司电话西安培训网站制作
  • 做愛的视频网站seo全国最好的公司
  • 公司网站建设推荐q479185700顶上网络营销推广专员
  • wordpress主题seo青岛百度seo排名
  • 企业网站的功能西安做推广优化的公司
  • 响应式网站要怎么做杭州正规引流推广公司
  • 织梦做的网站在百度搜索页劫取seo培训一对一
  • 做网站开发功能清单全网品牌推广
  • 深圳建设管理中心网站广告软文范例
  • 哪个网站可以做印章图案国内新闻
  • 做平面的网站seo搜索优化招聘
  • 贵港北京网站建设营销软件有哪些
  • 郑州小程序开发制作公司攀枝花seo
  • wordpress主题:精选zruckmetro主题英语seo