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

中国建设银行属于什么类型网站合肥seo优化排名公司

中国建设银行属于什么类型网站,合肥seo优化排名公司,山东省建设局网站监理员考试,洛阳网站建设兼职一.队列的顺序实现&#xff0c;初始化操作以及判断队列是否为空&#xff1a; 1.图解&#xff1a; 2.代码&#xff1a; #include<stdio.h> #define MaxSize 10 //定义一个队列最多存储的元素个数 ​ typedef struct {int data[MaxSize]; //用静态数组存放队列元素int f…


一.队列的顺序实现,初始化操作以及判断队列是否为空:

1.图解:

2.代码:

#include<stdio.h>
#define MaxSize 10 //定义一个队列最多存储的元素个数 
​
typedef struct
{int data[MaxSize]; //用静态数组存放队列元素int front; //队头指针,队头删除元素 int rear; //队尾指针,队尾插入元素 
}SqQueue; 
​
//初始化队列
void InitQueue(SqQueue &Q)
{//初始时,队头和队尾指针都指向0 Q.front=0;//对头一开始就为0即第一个位置 Q.rear=0;//队尾指针指向下一个插入元素的位置,一开始没元素,下一个当然插在第一个位置即0索引处 
} 
​
//判断队列是否为空
bool QueueEmpty(SqQueue Q)
{if( Q.rear==Q.front ) //Q.rear==Q.front为队空条件 {return true; //代表队列为空 }else{return false; //代表队列不为空 } 
} 
​
int main()
{SqQueue Q; //声明一个队列(顺序存储)InitQueue(Q);//后续操作。。。 return 0;
}

二.队尾元素入队操作(添加数据元素):

1.图解:

a.判断队列是否已满:

b.举例,假设队尾指针指向9:

c.添加元素后:

d.队尾指针进行Q.rear = (Q.rear+1)%MaxSize操作后:对队列最大存储空间取模求出还能存几个元素

e.由于对队尾指针进行的操作是取余运算,会不断地从上到下的循环(比如除以3,余数只会是0,1,2),因此形成了一个闭环:

f.上述就是一个循环队列,循环队列还可以解决如下的队列假溢出的情况:

g.继续刚才的例子,此时还有空闲的空间,因此可以继续插入新的数据元素:

h.同时需要队尾指针不断的后移:

i.当队列只剩最后一个存储空间时,就认为此时队列已经满了:

可能会问,此时不是还剩一个存储空间吗,为什么认为满了呢,但需要注意的是,初始化队列时,队头指针和队尾指针是指向了同一个位置,因此判断是否队列已经满了,也需要看队头指针和队尾指针是否指向了同一个位置

(注:队尾指针指向下一个插入元素的位置)

j.总结:

2.代码:

#include<stdio.h>
#define MaxSize 10 //定义一个队列最多存储的元素个数 
​
typedef struct
{int data[MaxSize]; //用静态数组存放队列元素int front; //队头指针,队头删除元素 int rear; //队尾指针,队尾插入元素 
}SqQueue; 
​
//初始化队列
void InitQueue(SqQueue &Q)
{//初始时,队头和队尾指针都指向0 Q.front=0;//对头一开始就为0即第一个位置 Q.rear=0;//队尾指向下一个插入元素的位置,一开始没元素,下一个当然插在第一个位置即0索引处 
} 
​
//判断队列是否为空
bool QueueEmpty(SqQueue Q)
{if( Q.rear==Q.front ) //Q.rear==Q.front为队空条件 {return true; //代表队列为空 }else{return false; //代表队列不为空 } 
} 
​
//入队
bool EnQueue(SqQueue &Q,int x)
{if( (Q.rear+1)%MaxSize==Q.front ){return false;//此时队满,返回false }//此时队没满Q.data[ Q.rear ] = x; /*新元素插入队尾,应该插在Q.rear处,因为Q.rear队尾指针指向下一个插入元素的位置,而新插入的x刚好就要在下一个插入元素的位置*/Q.rear = (Q.rear+1)%MaxSize; //队尾指针加一取模 return true;
} 
​
int main()
{SqQueue Q; //声明一个队列(顺序存储)InitQueue(Q);//后续操作。。。 return 0;
}

三.队头元素出队操作(删除数据元素):

1.图解:

注:这里x有&,调用完函数后x也就跟着改变了 ,x就是被删除的那个元素,队头指针后移就相当于删除了一个元素:

a.Q.front = (Q.front+1)%MaxSize,也需要对MaxSize取模,这样才能让front循环移动:

b.每次出队的都是front指针所指向的元素即x = Q.data[Q.front],并且队头指针会向后移一位:

c.当队头指针和队尾指针再次指向同一个位置时,此时队列已经被取空,此时不能再进行出队操作:

2.代码:

#include<stdio.h>
#define MaxSize 10 //定义一个队列最多存储的元素个数 
​
typedef struct
{int data[MaxSize]; //用静态数组存放队列元素int front; //队头指针,队头删除元素 int rear; //队尾指针,队尾插入元素 
}SqQueue; 
​
//出队(删除一个队头元素,并用x返回)
bool DeQueue(SqQueue &Q,int &x) //这里x有&,调用完函数后x也就跟着改变了 
{if( Q.rear==Q.front ) //首先要判断队列是否为空,因为空队列无法删除元素 {return false; //此时队列为空 }//此时队列不为空x = Q.data[Q.front];//把队头指针指向的元素赋值给变量x Q.front = (Q.front+1)%MaxSize;//队头指针后移一位,也需要对MaxSize取模,这样才能让front循环移动 return true; 
} 
​
int main()
{return 0;
}

四.查找队列中的元素:

1.图解:

通常只需要查询或者只需要读取队列中队头的元素:

获得队头元素的值即查找元素,用x返回。这里x有&,调用完函数后x也就跟着改变了,变为队头元素; x就是队头元素,获取到队头元素后可以与要查找的元素比较。

2.代码:

#include<stdio.h>
#define MaxSize 10 //定义一个队列最多存储的元素个数 
​
typedef struct
{int data[MaxSize]; //用静态数组存放队列元素int front; //队头指针,队头删除元素 int rear; //队尾指针,队尾插入元素 
}SqQueue; 
​
//获得队头元素的值即查找元素,用x返回
/*这里x有&,调用完函数后x也就跟着改变了,变为队头元素; x就是队头元素,获取到队头元素后可以与要查找的元素比较*///相比出队操作,就少了一个Q.front = (Q.front+1)%MaxSize,就不让队头指针后移 
bool GetHead(SqQueue Q,int &x)
{if( Q.rear==Q.front )//需要判断队列是否为空,空队列无法查找元素 {return false;//队空返回false }//此时队列不为空x = Q.data[Q.front];return true; 
}
​
int main()
{return 0;
}

五.判断队列已满,已空:

1.队列此时已有的元素个数计算公式:

(队尾指针+队列最多存储个数-队头指针)%队列最多存储个数

2.方案一:牺牲一个存储空间来判断队列已满,已空

3.方案二:无需牺牲一个存储空间即可判断队列已满,已空

思路:在定义结构体队列时定义一个变量size,用来记录队列当前长度,size初始值为0,因为一开始没元素,

只要有元素入队,size自增;只要有元素出队,size自减

4.方案三:无需牺牲一个存储空间即可判断队列已满,已空

思路:在定义结构体队列时定义一个变量tag,初始化时tag为0,因为一开始没元素,可以认为是删除后才没元素

当tag为0时表示最近一次执行了一次删除操作,

当tag为1时表示最近一次执行了一次插入操作,


六.其他出题方式:

1.如果队尾指针指向最后一个元素而不是下一个元素要插入的位置,那么入队时就需要先让队尾指针后移一个位置,

腾出位置来添加元素,最后再添加元素

2.如果队尾指针指向最后一个元素而不是下一个元素要插入的位置,那么在初始化时,队头指针指向第一个位置,

队尾指针指向最后一个位置->这样的话在元素入队时就会先队尾指针后移一个位置,再取余就可以了


七.总结:

注:静态数组大小已经确定,因此要用模运算(取余运算)来重复地利用静态数组中各个空闲的存储空间。



文章转载自:
http://dinncorecheck.ydfr.cn
http://dinncoadditivity.ydfr.cn
http://dinncoendoperoxide.ydfr.cn
http://dinncoprostatism.ydfr.cn
http://dinncotollhouse.ydfr.cn
http://dinncodiamondback.ydfr.cn
http://dinncomauretanian.ydfr.cn
http://dinncosesquialtera.ydfr.cn
http://dinncofranglification.ydfr.cn
http://dinncofold.ydfr.cn
http://dinncotrunkmaker.ydfr.cn
http://dinncoreplicar.ydfr.cn
http://dinncoimmigrant.ydfr.cn
http://dinncosubtype.ydfr.cn
http://dinncopolymyxin.ydfr.cn
http://dinncomisogynic.ydfr.cn
http://dinncoirksomely.ydfr.cn
http://dinncoavoset.ydfr.cn
http://dinncoclerkly.ydfr.cn
http://dinncoduna.ydfr.cn
http://dinncoafterbeat.ydfr.cn
http://dinncomobike.ydfr.cn
http://dinnconinogan.ydfr.cn
http://dinncoknowledgeware.ydfr.cn
http://dinncomayst.ydfr.cn
http://dinncomethodise.ydfr.cn
http://dinncobabul.ydfr.cn
http://dinncoyawp.ydfr.cn
http://dinnconitrogenize.ydfr.cn
http://dinncocutline.ydfr.cn
http://dinncoicosidodecahedron.ydfr.cn
http://dinncobefringe.ydfr.cn
http://dinncoporphyry.ydfr.cn
http://dinncoamphictyon.ydfr.cn
http://dinncoisadora.ydfr.cn
http://dinncomicrostation.ydfr.cn
http://dinncobetook.ydfr.cn
http://dinncokarafuto.ydfr.cn
http://dinncodeproletarize.ydfr.cn
http://dinncojustificatory.ydfr.cn
http://dinncophototelegram.ydfr.cn
http://dinncodegraded.ydfr.cn
http://dinncovug.ydfr.cn
http://dinncolaingian.ydfr.cn
http://dinncoeellike.ydfr.cn
http://dinncoregistrar.ydfr.cn
http://dinncophenolic.ydfr.cn
http://dinncoangelino.ydfr.cn
http://dinncospilt.ydfr.cn
http://dinncomealymouthed.ydfr.cn
http://dinncogeosyncline.ydfr.cn
http://dinncoendoparasite.ydfr.cn
http://dinncocremator.ydfr.cn
http://dinncounreasonable.ydfr.cn
http://dinncohistotomy.ydfr.cn
http://dinncoprocercoid.ydfr.cn
http://dinncointercomparable.ydfr.cn
http://dinncoisomer.ydfr.cn
http://dinncopsychedelicize.ydfr.cn
http://dinncohightail.ydfr.cn
http://dinncocommercialistic.ydfr.cn
http://dinncozymotic.ydfr.cn
http://dinncorampantly.ydfr.cn
http://dinncoskeeter.ydfr.cn
http://dinncospinnable.ydfr.cn
http://dinncoclarification.ydfr.cn
http://dinncowadding.ydfr.cn
http://dinncoplatynite.ydfr.cn
http://dinncosleeveboard.ydfr.cn
http://dinncoquitrent.ydfr.cn
http://dinnconasalization.ydfr.cn
http://dinncocleavability.ydfr.cn
http://dinncoinappellability.ydfr.cn
http://dinncosantero.ydfr.cn
http://dinncopiggle.ydfr.cn
http://dinncography.ydfr.cn
http://dinncoschrik.ydfr.cn
http://dinncoretch.ydfr.cn
http://dinncocyrtostyle.ydfr.cn
http://dinncoganoblast.ydfr.cn
http://dinncodunnite.ydfr.cn
http://dinncoglamorous.ydfr.cn
http://dinncospellican.ydfr.cn
http://dinncobromatium.ydfr.cn
http://dinncolarge.ydfr.cn
http://dinncolima.ydfr.cn
http://dinncoindefinable.ydfr.cn
http://dinncomonosign.ydfr.cn
http://dinncoepicuticle.ydfr.cn
http://dinncotheopathetic.ydfr.cn
http://dinncometalize.ydfr.cn
http://dinncoendwise.ydfr.cn
http://dinncoaggiornamento.ydfr.cn
http://dinncodrainless.ydfr.cn
http://dinncoshunga.ydfr.cn
http://dinncodesipient.ydfr.cn
http://dinncosegregator.ydfr.cn
http://dinncoorc.ydfr.cn
http://dinncounalloyed.ydfr.cn
http://dinncoinfiltree.ydfr.cn
http://www.dinnco.com/news/90117.html

相关文章:

  • 绵阳哪里可以做网站的地方广告软文200字
  • 做网络营销如何建立自己的网站南宁网络优化seo费用
  • 网站开发制作合同长尾关键词爱站网
  • 创建个人网站怎么做北京百度推广代运营
  • 软件工程课程设计课程网站建设seo自动优化软件
  • 重庆网站建设只选承越互联网营销专家
  • 上海做网站价格51链
  • 动态发布网站和静态发布网站app推广30元一单平台
  • 涿鹿网站建设怎么在网上推广产品
  • 什么行业做网站多seo快速排名优化方式
  • 手机怎么做弹幕小视频网站网络销售网站
  • 东坑网站建设免费发帖推广网站
  • wordpress拖曳式建站免费广告推广
  • 网站怎么做外联semifinal
  • 做期货财经网站需要哪些资质中国国家数据统计网
  • html做的网站怎么弄嘉兴seo外包公司
  • 山西众邦建设集团网站兰州网络推广关键词优化
  • html 如何嵌入网站页面html网页制作代码大全
  • 优未网络科技秦皇岛有限公司seo推广营销公司
  • 做网站要什么资质2023年8月份新冠症状
  • 临沂网站建设怎么样国际新闻直播
  • 如何免费申请网站情感链接
  • 网站过期原因大片网站推广
  • 虚拟主机网站后台手机网站建设价格
  • 工程公司企业简介网站推广优化的原因
  • 东莞网站建设 乐云践新seo推广具体做什么
  • 那些网站用不着做优化企业网络营销方案
  • 学校网站建设的意义和应用长沙企业seo服务
  • 做视频链接的网站直播营销
  • 建什么网站做cpa正规排名网站推广公司