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

普通人找工作哪个网站好wordpress 百度云视频

普通人找工作哪个网站好,wordpress 百度云视频,zencart添加wordpress,通州郑州阳网站建设一.队列的概念 队列(Queue)是一种常见的数据结构,它按照先进先出的原则管理数据。这意味着最先进入队列的元素将被最先移出队列,类似于现实生活中排队的场景。 在队列中,数据项被添加到队列的一端,称为队尾…

一.队列的概念

        队列(Queue)是一种常见的数据结构,它按照先进先出的原则管理数据。这意味着最先进入队列的元素将被最先移出队列,类似于现实生活中排队的场景。
在队列中,数据项被添加到队列的一端,称为队尾,而从队列中移除数据项的操作则发生在另一端,称为队首。新元素被添加到队列的尾部,并且从队列中移除元素时,总是从队列的头部开始。
队列的基本操作:

  1. 队列的初始化。
  2. 入队:将元素添加到队列的尾部。
  3. 出队:从队列的头部移除元素。
  4. 获取队首元素:查看队列的头部元素,但不移除它。
  5. 判断队列是否为空:检查队列是否不包含任何元素。
  6. 队列的销毁。

队列常用于需要按顺序处理数据的场景,比如任务调度、缓冲等。

二.队列的特点

        1.先进先出:队列中的元素按照先进先出的原则进行排列和访问。最先进入队列的元素将被最先移出队列。
        2.有限容量:队列通常具有固定的容量限制,即队列中能够容纳的元素数量是有限的。当队列已满时,无法再向其中添加新的元素,除非先移除队列中的一些元素。
        3.受限的访问:队列的访问受到限制,只能在队列的两端进行操作。元素的插入(入队)只能发生在队列的尾部,而元素的移除(出队)只能从队列的头部进行。
        4.动态变化:队列的大小可以动态地扩展或收缩,具体取决于实现队列的数据结构。一些队列的实现允许在需要时动态地增加其容量,以适应更多的元素。
        5.线性结构:队列是一种线性数据结构,元素之间的关系是一对一的。每个元素都有且仅有一个直接前驱和一个直接后继。
        6.适用性:队列常用于需要严格控制元素访问顺序的情况,如任务调度、资源分配等。
        7.高效性:对于队列中的元素添加和移除操作,时间复杂度通常是常数级别的。这使得队列在许多应用中具有高效的性能。
        8.应用广泛:队列是一种常见且重要的数据结构,在计算机科学和软件工程中被广泛应用,例如操作系统中的进程调度、网络数据包传输、消息队列、算法设计等领域。
        9.稳定性:队列的稳定性指的是对于相同的输入,输出结果是确定的,不受其他因素影响,而这一点栈结构是做不到的。这使得队列在许多算法和系统设计中具有可靠性和可预测性。

三.队列的实现

队列是基于链表和顺序表来实现,结合队列的特点使用链表来实现更为便洁。

源码:

Queue.h

#pragma once
#include<stdio.h>
#include<stdbool.h>
#include<assert.h>
#include<stdlib.h>
#define QueueData inttypedef struct QueueNode
{QueueData val;struct QueueNode* next;
}QueueNode;
typedef struct
{QueueNode* phead;QueueNode* pend;int size;
}Queue;//储存的是链表的头节点和链表的尾节点以及队列的元素个数,更容易维护队列。
void QueueInit(Queue* pQ);//初始化
void QueuePush(Queue* pQ, QueueData x);//队尾入队
void QueuePop(Queue* pQ);//出队
QueueData QueueFront(Queue* pQ);//取队头元素
int QueueSize(Queue* pQ);//获取队列元素个数
bool QueueEmpty(Queue* pQ);//判空
void QueueDestroy(Queue* pQ);//销毁队列

Queue.c

#include"Queue.h"
void QueueInit(Queue* pQ)
{assert(pQ);pQ->pend = pQ->phead = NULL;pQ->size = 0;
}
void QueuePush(Queue* pQ, QueueData x)
{assert(pQ);QueueNode* pnew = (QueueNode*)malloc(sizeof(QueueNode));assert(pnew);pnew->val = x;pnew->next = NULL;if (pQ->size == 0){pQ->pend = pQ->phead = pnew;}else{pQ->pend->next = pnew;pQ->pend = pnew;}pQ->size++;
}
QueueData QueueFront(Queue* pQ)
{assert(pQ);assert(pQ->size);return pQ->phead->val;
}
void QueuePop(Queue* pQ)
{assert(pQ);QueueData ret = pQ->phead->val;if (pQ->size == 1){free(pQ->phead);pQ->pend = pQ->phead = NULL;}else{QueueNode* pn = pQ->phead;pQ->phead = pQ->phead->next;free(pn);}pQ->size--;return ret;
}
int QueueSize(Queue* pQ)
{assert(pQ);return pQ->size;
}
bool QueueEmpty(Queue* pQ)//判空
{assert(pQ);return pQ->size;
}
void QueueDestroy(Queue* pQ)
{assert(pQ);while (pQ->phead){QueueNode* pnext = pQ->phead->next;free(pQ->phead);pQ->phead=pnext;}pQ->pend = pQ->phead = NULL;pQ->size = 0;
}

test.c

#define _CRT_SECURE_NO_WARNINGS 1
#include"Queue.h"
int main()
{Queue ps;QueueInit(&ps);int n = 10;while (n--)QueuePush(&ps, n + 1);while (QueueEmpty(&ps)){printf("%d ",QueueFront(&ps));QueuePop(&ps);}QueueDestroy(&ps);return 0;
}

http://www.yayakq.cn/news/782855/

相关文章:

  • 在安阳想建个网站怎么做目前在哪个平台做推广好
  • 广东网站定制室内设计装修网站
  • wordpress能做手机站么网站开发微信登录流程
  • 南平公司做网站什么是网络营销中最古老的一种
  • 岳阳网站建设ui设计课程内容
  • 怎么做国际货运代理外贸网站1688货源网一件代发玩具
  • 常州行业网站怎么看网站的收录
  • 开发网站商城湖南省建设厅网站首页
  • 跨平台 移动网站开发宁波网站建设哪家公司好
  • 网站设计 中高端温州logo设计公司
  • 整站优化包年外贸网络推广公司排名
  • 深圳市住房建设部官方网站我想自己做的知道网站
  • 联系我们网站模板视频网站用什么做
  • 张家口网站建设开发建网站不想用怎样撤销
  • 申请建设单位门户网站的请示四川城乡住房城乡建设厅网站
  • 做中文网站公司网络优化的目的及意义
  • 比较好的公司网站网站建设面试题
  • 河源网站建设工作室广告设计网站排行榜前十名有哪些
  • 网站开发如何设置视频嘉兴网站建设seo
  • 先做网站还是appwordpress插件原理
  • 金融机构网站建设费用免费空间建网站
  • 焦作北京网站建设销售机械设备做网站
  • 济南网站建设是什么网站怎么做成二维码
  • django做待办事项网站湖南服装网站建设
  • 东莞网推广网站建设哪个网站可以哪些企业做哪些产品
  • 前端做网站如何调接口网页设计的好处
  • 做网站多少钱西宁君博美评上海建设工程招投标在什么网站
  • 网站定制牛七科技wordpress 多站点 多域名
  • 设计网站首页要几天寻找商机
  • 网站建设工具公司东莞连衣裙 东莞网站建设