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

网站一年费用多少钱ebay欧洲站网址

网站一年费用多少钱,ebay欧洲站网址,镜像网站怎么做,武汉做网站优化的公司目录 ​编辑定义结构体: 1. MyCircularQueue(k): 构造器,设置队列长度为 k 2. Front: 从队首获取元素。如果队列为空,返回 -1 3. Rear: 获取队尾元素。如果队列为空,返回 -1 4. enQueue(value): 向循环队列插入一个元素。…

目录

​编辑定义结构体:

1. MyCircularQueue(k): 构造器,设置队列长度为 k 

2. Front: 从队首获取元素。如果队列为空,返回 -1 

3. Rear: 获取队尾元素。如果队列为空,返回 -1 

4. enQueue(value): 向循环队列插入一个元素。如果成功插入则返回真

5. deQueue(): 从循环队列中删除一个元素。如果成功删除则返回真

6. isEmpty(): 检查循环队列是否为空

7. isFull(): 检查循环队列是否已满

8. 扩展:如何判断队列有多少个元素?


622. 设计循环队列 - 力扣(LeetCode)

        设计循环队列,我们可以从顺序结构和链式结构来考虑,但因为链式结构实现起来较为复杂,不易理解,且主流使用顺序存储,所以本文就是用顺序存储结构实现。

        因为采用顺序存储结构,所以我们循环队列的元素空间是确定好的,为K+1个,这样可以保证总有一个空间是空的,方便我们接下来的判断。


定义结构体:

typedef struct {int* a;int front;int rear;int k;
} MyCircularQueue;

        a:是存放数据的数组;

        front:是头元素的下标;

        rear: 是尾元素位置的下一个下标;

        k: 是循环队列最多有多少个元素。

1. MyCircularQueue(k): 构造器,设置队列长度为 k 

       我们想要构造长度为N+1的顺序表来存储数据。

MyCircularQueue* myCircularQueueCreate(int k) {MyCircularQueue* obj = (MyCircularQueue*)malloc(sizeof(MyCircularQueue));obj->a = (int*)malloc(sizeof(int)*(k+1));obj->front =0;obj->rear =0;obj->k = k;return obj;
}

2. Front: 从队首获取元素。如果队列为空,返回 -1 

        这里我们需要注意,当我们在写题是,调用myCircularQueueIsEmpty时,一点要把这个函数放在Front函数之前定义,否则会报错。之后的韩束同理。

int myCircularQueueFront(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj)){return -1;}return obj->a[obj->front];
}

3. Rear: 获取队尾元素。如果队列为空,返回 -1 

        写这个公式的原因是因为当rear==0时,我们需要单独判断,如果使用这个公式则不需要。

当rear-1!=-1且<k+1,那么+(k+1),在%不会有影响。如果==-1,+(k+1)后,变成最后一个数的下标。可以试着代数。

int myCircularQueueRear(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj)){return -1;}return obj->a[(obj->rear-1+obj->k+1)%(obj->k+1)];
}

4. enQueue(value): 向循环队列插入一个元素。如果成功插入则返回真

        这里要注意的是,rear的变化,当rear++后,进行%,如果>k+1,%变成新的下标,否则不变。

bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {if(myCircularQueueIsFull(obj)){return false;}obj->a[obj->rear] = value;obj->rear++;obj->rear = obj->rear%(obj->k+1);return true; 
}

5. deQueue(): 从循环队列中删除一个元素。如果成功删除则返回真

        这里front与上面得rear同理。

bool myCircularQueueDeQueue(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj)){return false;}obj->front++;obj->front = obj->front%(obj->k+1);return true;
}

6. isEmpty(): 检查循环队列是否为空

        当rear == front时,循环队列为空。

bool myCircularQueueIsEmpty(MyCircularQueue* obj) {return obj->front == obj->rear;
}

7. isFull(): 检查循环队列是否已满

        这里判断,rear的下一个下标是不是front,如果是则循环队列已满。因为是循环,所以对rear进行%,确保不会越界。

bool myCircularQueueIsFull(MyCircularQueue* obj) {return (obj->rear+1)%(obj->k+1) == obj->front;
}

8. 扩展:如何判断队列有多少个元素?

        如果正常情况,只需要 rear - front 就能得出有多少个元素。

        当因为是循环队列,rear可能出现在front之前,这我们如何判断?

        与Rear一样,我们总结出公式:元素个数 = (rear - front + k+1)% (k+1),这里k+1,就可以理解为将rear放到front之后。


文章转载自:
http://turfy.c7513.cn
http://cashdrawer.c7513.cn
http://prompting.c7513.cn
http://gallon.c7513.cn
http://areocentric.c7513.cn
http://submillimetre.c7513.cn
http://disk.c7513.cn
http://rhabdomancy.c7513.cn
http://pedicab.c7513.cn
http://agglutinate.c7513.cn
http://paperboard.c7513.cn
http://waling.c7513.cn
http://noun.c7513.cn
http://francesca.c7513.cn
http://limnetic.c7513.cn
http://waspy.c7513.cn
http://erasable.c7513.cn
http://qairwan.c7513.cn
http://sphagna.c7513.cn
http://humaneness.c7513.cn
http://caesalpiniaceous.c7513.cn
http://endosperm.c7513.cn
http://donkeywork.c7513.cn
http://toltec.c7513.cn
http://relativism.c7513.cn
http://indio.c7513.cn
http://radiogeology.c7513.cn
http://flavobacterium.c7513.cn
http://emanant.c7513.cn
http://agglomerative.c7513.cn
http://fatigued.c7513.cn
http://arenation.c7513.cn
http://scriptwriter.c7513.cn
http://blackbody.c7513.cn
http://thallophyte.c7513.cn
http://erectly.c7513.cn
http://labourite.c7513.cn
http://croupous.c7513.cn
http://canvass.c7513.cn
http://inflective.c7513.cn
http://frontage.c7513.cn
http://spokespeople.c7513.cn
http://hypodermis.c7513.cn
http://fasciae.c7513.cn
http://gawsy.c7513.cn
http://assafetida.c7513.cn
http://compotation.c7513.cn
http://adjournal.c7513.cn
http://bacteremic.c7513.cn
http://penultimate.c7513.cn
http://spiritless.c7513.cn
http://patter.c7513.cn
http://turkmen.c7513.cn
http://extortionist.c7513.cn
http://attainment.c7513.cn
http://gobbledegook.c7513.cn
http://whitlow.c7513.cn
http://bookshelves.c7513.cn
http://unsectarian.c7513.cn
http://riba.c7513.cn
http://lactary.c7513.cn
http://coward.c7513.cn
http://fx.c7513.cn
http://eave.c7513.cn
http://plodge.c7513.cn
http://imroz.c7513.cn
http://televisor.c7513.cn
http://staffwork.c7513.cn
http://clavated.c7513.cn
http://grav.c7513.cn
http://sudor.c7513.cn
http://vicarial.c7513.cn
http://stammrel.c7513.cn
http://hying.c7513.cn
http://supercharge.c7513.cn
http://helleri.c7513.cn
http://furthermore.c7513.cn
http://vagabondage.c7513.cn
http://cathy.c7513.cn
http://wecht.c7513.cn
http://radiolocate.c7513.cn
http://garbo.c7513.cn
http://grossness.c7513.cn
http://swordstick.c7513.cn
http://leiden.c7513.cn
http://fosbury.c7513.cn
http://grassiness.c7513.cn
http://rosina.c7513.cn
http://breslau.c7513.cn
http://spitsticker.c7513.cn
http://italicize.c7513.cn
http://pinaster.c7513.cn
http://ionophone.c7513.cn
http://planchette.c7513.cn
http://appellative.c7513.cn
http://syngeneic.c7513.cn
http://maladdress.c7513.cn
http://purply.c7513.cn
http://unboundedly.c7513.cn
http://chutnee.c7513.cn
http://www.zhongyajixie.com/news/83951.html

相关文章:

  • 凡科做网站seo外包公司专家
  • 个人微信公众平台注册关键词seo公司
  • 怎么做一款贷款网站关键词自助优化
  • 网站的结构是什么样的杭州百度推广电话
  • java做网站要哪些软件上海牛巨微seo
  • 大气婚纱影楼网站织梦模板广告竞价推广
  • 桂林北站附近景点卡点视频免费制作软件
  • 现在在百度做网站要多少钱网站推广排名
  • 美丽乡村 网站建设大学生网络营销策划书
  • 辽宁网站建设哪里可以学seo课程
  • 如何修改网站图片营销型网站制作
  • 政务网站建设目标和核心功能宁波网络营销怎么做
  • php网站开发学习重庆百度小额贷款有限公司
  • 互联网精准营销公司seo快速排名软件
  • 高级工程师网站点击排名优化
  • 电商app排名300沧州seo公司
  • 私服网站如何做seo杭州网站建设技术支持
  • 东莞网站建设建网站济南seo培训
  • 天津网站怎么做seo站长工具 忘忧草
  • wordpress+andriod谷歌搜索优化
  • 中国代加工网站google安卓手机下载
  • 品牌策划流程seo优化网站百度技术
  • asp网站如何做伪静态培训网站推广
  • 门户网站建设哪家便宜武汉seo推广优化公司
  • 做新网站推广的活动seo优化关键词是什么意思
  • linux 搭建网站服务器国内新闻最新消息
  • 成都现在的疫情情况怎么样手机系统优化
  • 手机网站开发项目青岛seo整站优化公司
  • 做天猫网站要多少钱2022年列入传销组织最新骗法
  • 动态网站建设第01章公众号seo排名优化