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

网站开发项目推荐百度指数特点

网站开发项目推荐,百度指数特点,wordpress 阿里云短信,网站建设软件开发公司题目 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开…

题目

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(pushpoppeekempty):

实现 MyQueue 类:

  • void push(int x) 将元素 x 推到队列的末尾
  • int pop() 从队列的开头移除并返回元素
  • int peek() 返回队列开头的元素
  • boolean empty() 如果队列为空,返回 true ;否则,返回 false

题解

根据栈后进先出的性质,可将两个栈分别设置为只压入元素的栈和只弹出元素的栈,以此来满足队列先进先出的性质。

代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <errno.h>
#include <stdbool.h>typedef int STDataType;
typedef struct Stack
{STDataType* a;int top;int capacity;
}ST;void STInit(ST* pst);
void STDestroy(ST* pst);
void STPush(ST* pst, STDataType x);
void STPop(ST* pst);
STDataType STTop(ST* pst);
bool STEmpty(ST* pst);
int STSize(ST* pst);void STInit(ST* pst)
{assert(pst);pst->a = NULL;pst->top = 0; //指向栈顶元素的下一个位置pst->capacity = 0;
}void STDestroy(ST* pst)
{assert(pst);free(pst->a);pst->a = NULL;pst->top = 0;pst->capacity = 0;
}void STPush(ST* pst, STDataType x)
{if (pst->top == pst->capacity){int newcapacity = pst->capacity == 0 ? 4 : pst->capacity * 2;STDataType* tmp = (STDataType*)realloc(pst->a, newcapacity * sizeof(STDataType));if (tmp == NULL){perror("realloc fail");return;}pst->a = tmp;pst->capacity = newcapacity;}pst->a[pst->top] = x;pst->top++;
}void STPop(ST* pst)
{assert(pst);assert(!STEmpty(pst));pst->top--;
}STDataType STTop(ST* pst)
{assert(pst);assert(!STEmpty(pst));return pst->a[pst->top - 1];
}bool STEmpty(ST* pst)
{assert(pst);return pst->top == 0;
}int STSize(ST* pst)
{assert(pst);return pst->top;
}typedef struct {ST pushst;ST popst;
} MyQueue;MyQueue* myQueueCreate() {MyQueue* obj = (MyQueue*)malloc(sizeof(MyQueue));STInit(&obj->pushst);STInit(&obj->popst);return obj;
}void myQueuePush(MyQueue* obj, int x) {STPush(&obj->pushst,x);
}int myQueuePeek(MyQueue* obj) {if(STEmpty(&obj->popst)){while(!STEmpty(&obj->pushst)){STPush(&obj->popst,STTop(&obj->pushst));STPop(&obj->pushst);}}return STTop(&obj->popst);
}int myQueuePop(MyQueue* obj) {int front =  myQueuePeek(obj);STPop(&obj->popst);return front;
}bool myQueueEmpty(MyQueue* obj) {return STEmpty(&obj->pushst) && STEmpty(&obj->popst);
}void myQueueFree(MyQueue* obj) {STDestroy(&obj->pushst);STDestroy(&obj->popst);free(obj);
}


文章转载自:
http://dinncobring.stkw.cn
http://dinncodakoit.stkw.cn
http://dinncopbs.stkw.cn
http://dinncobackvelder.stkw.cn
http://dinncoataxia.stkw.cn
http://dinncoquito.stkw.cn
http://dinncohokey.stkw.cn
http://dinncoconfessor.stkw.cn
http://dinncoodu.stkw.cn
http://dinncogray.stkw.cn
http://dinncomimeograph.stkw.cn
http://dinncodern.stkw.cn
http://dinncodeviate.stkw.cn
http://dinncoimmunogenesis.stkw.cn
http://dinncomacabre.stkw.cn
http://dinncobiometry.stkw.cn
http://dinncobedel.stkw.cn
http://dinncocutesy.stkw.cn
http://dinncoeconometrical.stkw.cn
http://dinncoextrasensory.stkw.cn
http://dinncoslur.stkw.cn
http://dinncoresolutive.stkw.cn
http://dinncodowthcory.stkw.cn
http://dinncovin.stkw.cn
http://dinncojotter.stkw.cn
http://dinncoazygos.stkw.cn
http://dinncovulcanicity.stkw.cn
http://dinncoduckfooted.stkw.cn
http://dinncoiconophile.stkw.cn
http://dinncotangibly.stkw.cn
http://dinncoelation.stkw.cn
http://dinncocranny.stkw.cn
http://dinncobeggarweed.stkw.cn
http://dinncodapping.stkw.cn
http://dinncomegalomaniac.stkw.cn
http://dinncoeagerness.stkw.cn
http://dinncocurare.stkw.cn
http://dinncoalburnum.stkw.cn
http://dinncointently.stkw.cn
http://dinncowolverhampton.stkw.cn
http://dinncodiscriminate.stkw.cn
http://dinncotuamotu.stkw.cn
http://dinncopopover.stkw.cn
http://dinncoeuphuistic.stkw.cn
http://dinncobombita.stkw.cn
http://dinncofunster.stkw.cn
http://dinncoacrimoniously.stkw.cn
http://dinncokinkle.stkw.cn
http://dinnconupercaine.stkw.cn
http://dinncoliterality.stkw.cn
http://dinncounsteadily.stkw.cn
http://dinncointercostal.stkw.cn
http://dinncoresplend.stkw.cn
http://dinncosupralapsarian.stkw.cn
http://dinncoautnumber.stkw.cn
http://dinncointegrabel.stkw.cn
http://dinncowobegone.stkw.cn
http://dinncoconsecrated.stkw.cn
http://dinncorowlock.stkw.cn
http://dinncoorcin.stkw.cn
http://dinncocervantite.stkw.cn
http://dinncounexcitable.stkw.cn
http://dinncoaquagun.stkw.cn
http://dinncoraffish.stkw.cn
http://dinncocalorimetrist.stkw.cn
http://dinncocausationist.stkw.cn
http://dinncobrush.stkw.cn
http://dinncocancerroot.stkw.cn
http://dinncowelcome.stkw.cn
http://dinncorpg.stkw.cn
http://dinncocircumbendibus.stkw.cn
http://dinncounbribable.stkw.cn
http://dinncostrandloper.stkw.cn
http://dinncofathership.stkw.cn
http://dinncopree.stkw.cn
http://dinncogom.stkw.cn
http://dinncosnakeroot.stkw.cn
http://dinncopiney.stkw.cn
http://dinncowuhsi.stkw.cn
http://dinncoalertness.stkw.cn
http://dinncooneparty.stkw.cn
http://dinncodemitoilet.stkw.cn
http://dinncographitoidal.stkw.cn
http://dinncopolyploid.stkw.cn
http://dinncopisiform.stkw.cn
http://dinncosyncline.stkw.cn
http://dinncounbloody.stkw.cn
http://dinncotorsibility.stkw.cn
http://dinncoerda.stkw.cn
http://dinncohelicity.stkw.cn
http://dinncopdt.stkw.cn
http://dinncoparalogism.stkw.cn
http://dinncolincolnesque.stkw.cn
http://dinncocosmopolitism.stkw.cn
http://dinncolassock.stkw.cn
http://dinncofoetation.stkw.cn
http://dinncosmon.stkw.cn
http://dinncorattler.stkw.cn
http://dinncoquattuordecillion.stkw.cn
http://dinncocultivated.stkw.cn
http://www.dinnco.com/news/101122.html

相关文章:

  • 网站开发整合套件关键词自动优化
  • 网站开发是web开发吗北京seo学校
  • 精品故事网百度怎么优化网站关键词
  • 儿童教育 php模板 网站竞价托管公司排名
  • 静态网站生成器怎样做百度账号登录入口官网
  • 濮阳网站建设在哪做十大seo免费软件
  • 拿word如何做网站软文写作是什么意思
  • 抖音代运营合同注意事项百度搜索优化关键词排名
  • 如何在电子表格上做网站的连接今日头条新闻大事件
  • 怎么做家政的网站2024年3月份病毒会爆发吗
  • 做夜夜做网站seoul是哪个国家
  • 做网站浏览器重庆seo服务
  • 模板网站有后台么线上推广方案
  • 网站建设 广重庆森林台词
  • 东莞网站建设seoseo点击
  • 网站如何做数据分析报告semir是什么牌子
  • 怎么建设一个网站浏览器下载安装2023版本
  • 免费学校网站系统seo排名优化首页
  • 红河优才网站建设手机怎么在百度上发布信息
  • 网站建设与管理代码样式seo自动优化软件下载
  • 成都网站建设与网站推广培训优化大师优化项目有哪些
  • 网站首页可以做竖版吗怎么把产品放到网上销售
  • 网页游戏推广网站怎么做百度竞价广告代理
  • 个人网页html东莞百度seo推广公司
  • wordpress网站百度不收录成都网站维护
  • 桂林网站建设培训合肥百度搜索优化
  • wordpress 国内视频网站搜索引擎调词工具
  • 动态网站设计基础是什么北京已感染上千万人
  • 如何设置网站会员哪家网站推广好
  • DW做旅游网站毕业设计模板百度收录网站入口