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

怎么上传网页到wordpress/seo高级教程

怎么上传网页到wordpress,seo高级教程,手机新闻网站模板,网站主题定位题目 设以数组Q.elems[maxSize]存储循环队列的元素,同时以Q.rear和Q.length分别指示循环队列中的队尾位置和队列中所含元素的个数。试着给出该循环队列的队空条件和队满条件,并写出相应的入队(enQueue)和出队(deQueue…

题目

设以数组Q.elems[maxSize]存储循环队列的元素,同时以Q.rear和Q.length分别指示循环队列中的队尾位置和队列中所含元素的个数。试着给出该循环队列的队空条件和队满条件,并写出相应的入队(enQueue)和出队(deQueue)的操作。

分析

本题和普通的循环队列是不一样的,普通的循环队列是有两个指针的,即队头指针front和队尾指针rear,而本题中没有队头指针,因此出队的时候就需要根据已有的数据计算队头指针,来达到出队的目的。

  • 队空的条件是:Q.length==0
  • 队满的条件是:Q.length==maxSize

入队很简单,同普通的循环队列入队是一样的,需要注意的是注意Q.length的变化。

Q.rear=(Q.rear+1)%maxSize;// 移动指针
Q.elems[Q.rear]=x;// 入队元素
Q.length++;// 队列长度加1

出队是有些麻烦,因为没有队头指针,所以需要根据已有的信息计算队头指针,其核心语句如下:

x=Q.elems[(Q.rear-Q.length+1+maxSize)%maxSize];// 计算front的关键代码 
Q.length--;// 出队后,队列长度减1 

而(Q.rear-Q.length+1+maxSize)%maxSize就是头指针,在循环队列中的下标。

代码

核心代码如下:

/* 入队 */
int enQueue(Queue &Q,int x) {/* 入队元素之前判断队列是否满队 */if(isQueueFull(Q)==1) {return 0;} else {Q.rear=(Q.rear+1)%maxSize;// 移动指针Q.elems[Q.rear]=x;// 入队元素Q.length++;// 队列长度加1return 1;}
}/* 出队 */ 
int deQueue_2(Queue &Q,int &x){if(Q.length==0){return 0;}
//	--(Q.length);// 参考代码是先减长度 x=Q.elems[(Q.rear-Q.length+1+maxSize)%maxSize];// 计算front的关键代码 Q.length--;// 出队后,队列长度减1 return 1;
}

完整代码:

#include<stdio.h>
#include<stdlib.h>#define maxSize 8typedef struct Queue {int elems[maxSize];int rear;// 循环队列的队尾位置int length;// 循环队列中所含元素的个数
} Queue;/* 初始化队列 */
void initQueue(Queue &Q) {Q.rear=0;Q.length=0;
}/* 判断是否循环队列队满,满队返回1,否则返回0 */
int isQueueFull(Queue Q) {if(Q.length==maxSize) { // 队满的条件是队列中元素个数等于maxSizereturn 1;}return 0;
}/* 判断是否循环队列队空,空队返回1,否则返回0 */
int isQueueEmpty(Queue Q) {if(Q.length==0) { // 队空的条件是队列的元素个数为0return 1;}return 0;
}/* 入队 */
int enQueue(Queue &Q,int x) {/* 入队元素之前判断队列是否满队 */if(isQueueFull(Q)==1) {return 0;} else {Q.rear=(Q.rear+1)%maxSize;// 移动指针Q.elems[Q.rear]=x;// 入队元素Q.length++;// 队列长度加1return 1;}
}/* 出队 */ 
int deQueue_2(Queue &Q,int &x){if(Q.length==0){return 0;}
//	--(Q.length);// 参考代码是先减长度 x=Q.elems[(Q.rear-Q.length+1+maxSize)%maxSize];// 计算front的关键代码 Q.length--;// 出队后,队列长度减1 return 1;
}/* 打印循环队列 */ 
void print(Queue Q){printf("打印循环队列如下:");while(Q.length!=0){printf("%d\t",Q.elems[(Q.rear-Q.length+1+maxSize)%maxSize]);Q.length--;}printf("\n");
}int main(){Queue Q;initQueue(Q);// 初始化队列/* 入队 */enQueue(Q,1); enQueue(Q,2); enQueue(Q,3); enQueue(Q,4); enQueue(Q,5); printf("\n");printf("入队元素:1,2,3,4,5\n");printf("循环队列的长度:%d\n",Q.length);printf("循环队列的队尾rear:%d\n",Q.rear);print(Q);/* 出队元素1 */int x;printf("\n");deQueue_2(Q,x);printf("出队元素:%d\n",x);printf("循环队列的长度:%d\n",Q.length);printf("循环队列的队尾rear:%d\n",Q.rear);print(Q);/* 出队元素2 */printf("\n");deQueue_2(Q,x);printf("出队元素:%d\n",x);printf("循环队列的长度:%d\n",Q.length);printf("循环队列的队尾rear:%d\n",Q.rear);print(Q); /* 再入队 */ enQueue(Q,6);enQueue(Q,7);enQueue(Q,8);enQueue(Q,9);printf("\n");printf("入队元素:6,7,8,9\n");printf("循环队列的长度:%d\n",Q.length);printf("循环队列的队尾rear:%d\n",Q.rear);print(Q);/* 再出队 */deQueue_2(Q,x);printf("\n");printf("出队元素:%d\n",x); printf("循环队列的长度:%d\n",Q.length);printf("循环队列的队尾rear:%d\n",Q.rear);print(Q);return 0;
}

运行结果如下:

http://www.lbrq.cn/news/1374355.html

相关文章:

  • 南阳公司做网站/荆门刚刚发布的
  • 做网站上的在线支付怎么做/aso如何优化
  • wordpress调用树形目录/seo综合查询怎么用
  • 网站权重0/今日热点新闻视频
  • 做繁体书的网站/关键词优化软件哪家好
  • wordpress旅游类网站/深圳网站建设优化
  • html5 手机网站开发/教育培训机构营销方案
  • 世界互联网峰会视频/温州seo团队
  • 广西壮族自治区教育厅/网站seo设计
  • 公司已经有域名 怎么建网站/推广策划方案
  • 网站转小程序/最新社会舆情信息
  • 大安市网站/网络服务器的功能
  • 南京电商网站建设/沈阳网站关键词优化多少钱
  • 个人怎样建网站/微信朋友圈广告30元 1000次
  • 郑州网站制作公司汉狮/怎么建网站赚钱
  • 汉高建设公司网站/快速收录域名
  • java做网站例子/百度收录检测
  • wordpress 钩子教学/南京关键词seo公司
  • 商丘网站建设广告/关键词排名优化品牌
  • 网站建设技术培训/中国最新领导班子
  • 平顶山做网站多少钱/百度推广后台登录页面
  • 做动态网站的软件/百度竞价推广费用
  • 网站开发按几年摊销/长沙网络营销推广公司
  • 做网站具体步骤/列举常见的网络营销工具
  • 《电子商务网站开发与管理》/新站优化案例
  • 做网站的带宽多少钱/企业网站管理
  • 武汉市建设局网站/网络营销与策划
  • 上海门户网站的亮点/seo诊断方法步骤
  • wordpress目录权限设置密码/百度seo排名公司
  • 做网站高流量赚广告费/网站怎么开发
  • 断路器瞬时跳闸曲线数据获取方式
  • Typora v1.10.8 好用的 Markdown 编辑器
  • windows系统安装文生图大模型Stable diffusion V3.5 large(完整详细可用教程)
  • 梯度下降的基本原理
  • Java HTTPS 请求失败排查与证书导入全过程
  • Docker 初学者需要了解的几个知识点 (七):php.ini