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

安装网站模版视频陕西省建设造价协会网站

安装网站模版视频,陕西省建设造价协会网站,福州搜索优化行业,WordPress邮箱收集插件文章目录1.思路分析1.1队列空满分析1.2出队分析2.循环队列设计1.思路分析 1.1队列空满分析 首先我们假设一个长度为4的环形队列 队头front 队尾rear 当队列为空时 frontrear 当队列满时 frontrear 所以我们无法判断队列是满的或者空的 因此我们多加入一个空间使队列长度为5&am…

文章目录

  • 1.思路分析
    • 1.1队列空满分析
    • 1.2出队分析
  • 2.循环队列设计

在这里插入图片描述

1.思路分析

1.1队列空满分析

在这里插入图片描述
首先我们假设一个长度为4的环形队列
队头front
队尾rear
当队列为空时
front=rear
当队列满时
front=rear
所以我们无法判断队列是满的或者空的
因此我们多加入一个空间使队列长度为5,我们使real的值为队尾的下一个下标
在这里插入图片描述

这种情况下
当队列为空时
front=rear
当队列满时
real+1=front
这样我们就有了判断空满的能力
但是
在这里插入图片描述
这种情况下显然是满了但是
rear+1=5
front=0
显然不相等
所以我们需要改进
判断满的条件为(rear+1)%(k+1)
进而推出下标在循环里的判断方式
(real/front)%(k+1)

1.2出队分析

出队
出头

return obj->a[obj->front];

出尾
出尾我们要给real-1
在这里插入图片描述

当然还有特殊情况
在这里插入图片描述
这种我们没办法-1,所以要改变我们的判定方式为
(rear+k)%(k+1)

return obj->a[(obj->rear+obj->k)%(obj->k+1)];

总结
当然上述方法也可以单把特殊情况拿出来写,我这里就不写了

2.循环队列设计

typedef struct {int *a;int front;int rear;int k;} MyCircularQueue;bool myCircularQueueIsEmpty(MyCircularQueue* obj) {assert(obj);return obj->front==obj->rear;}bool myCircularQueueIsFull(MyCircularQueue* obj) {assert(obj);return ((obj->rear+1)%(obj->k+1))==obj->front;}
MyCircularQueue* myCircularQueueCreate(int k) {MyCircularQueue*obj=(MyCircularQueue*)malloc(sizeof(MyCircularQueue));obj->a=(int*)malloc(sizeof(int)*(k+1));obj->front=obj->rear=0;obj->k=k;return obj;}bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {assert(obj);if(myCircularQueueIsFull(obj))return false;elseobj->a[obj->rear++]=value;obj->rear%=obj->k+1;return true;}bool myCircularQueueDeQueue(MyCircularQueue* obj) {assert(obj);if(myCircularQueueIsEmpty(obj))return false;elseobj->front++;obj->front%=obj->k+1;return true;}int myCircularQueueFront(MyCircularQueue* obj) {assert(obj);if(myCircularQueueIsEmpty(obj))return -1;elsereturn obj->a[obj->front];}int myCircularQueueRear(MyCircularQueue* obj) {assert(obj);if(myCircularQueueIsEmpty(obj))return -1;elsereturn obj->a[(obj->rear+obj->k)%(obj->k+1)];
}void myCircularQueueFree(MyCircularQueue* obj) {assert(obj);free(obj->a);free(obj);}
http://www.yayakq.cn/news/252496/

相关文章:

  • 下载了网站模板怎么用网上书城网站建设目的
  • 网站开发语言怎么识别wordpress调用最近发布的文章
  • 优化网站排名哪家好黑龙江建设安全监督网查询
  • 做网站云服务期app推广员是做什么的
  • 网站备案证书下载不了wordpress 评论框 模板
  • 苏州工业园区建设网站网站空间站
  • 南宁房地产最新消息企业网站seo诊断工具
  • 外管局网站先支后收怎么做报告0元购怎么在网站做
  • 网上黑赌网站如何做代理宁波seo排名公司
  • 网站框架怎么搭建投稿网站源码
  • 个人空间网站免费建立平台的目的
  • 建设项目查询网站视差网站
  • 网站自适应框架北京建设公司网站建设
  • 巴中做网站的公司如何注册海外域名
  • 贵阳高端网站开发制作用struts2框架做的网站
  • 下载网站专用空间我想创建一个网站自己玩玩
  • 网页美工设计师就业能力要求保定百度推广优化排名
  • 网站建设公司郑州wordpress博客密码
  • 站长统计app网站网站支付页面设计
  • 那家建网站宝盒好用山东省建设厅制一网站
  • 学校 html5 网站 案例网站建设购买模板
  • 电子政务与网站建设的经验网线制作的步骤
  • 网页制作素材网站河南造价信息网官网
  • 广安网站建设推荐全国大型网站建设
  • 全国分站seo四川旅游seo整站优化
  • 成都网站关键词推广德州网站建设
  • 温州网站建设怎么样网络运营者开展经营和服务活动必须遵守法律行政法规
  • 男女做那个什么的视频网站点击网站出现微信二维码的链接怎么做
  • 宁波梅山建设局网站有口碑的宜昌网站建设
  • 安溪学校网站建设网站怎么做实名认证