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

服装网站设计公司h5制作

服装网站设计公司,h5制作,WordPress添加CA,建设工程网上质检备案网站LeetCode链接:225. 用队列实现栈 - 力扣(LeetCode) 本文默认读者已经掌握栈与队列的基本知识 或者先看我的另一篇博客:【数据结构】栈与队列_字节连结的博客-CSDN博客 做题思路 由于我们使用的是C语言,不能直接使用队…

LeetCode链接:225. 用队列实现栈 - 力扣(LeetCode)


本文默认读者已经掌握栈与队列的基本知识

或者先看我的另一篇博客:【数据结构】栈与队列_字节连结的博客-CSDN博客

做题思路

由于我们使用的是C语言,不能直接使用队列的操作,

所以做这道题得先把我们之前实现的队列复制过来:

//C语言模拟实现队列//链式结构:表示队列
typedef int QDataType;
typedef struct QueueNode
{struct QueueNode* next;QDataType data;
}QNode;//队列的结构
typedef struct Queue
{QNode* head;QNode* tail;int size;
}Que;//初始化队列
void QueueInit(Que* pq);
//销毁队列
void QueueDestroy(Que* pq);
//队尾入队列
void QueuePush(Que* pq, QDataType x);
//队头出队列
void QueuePop(Que* pq);
//获取队列头部元素
QDataType QueueFront(Que* pq);
//获取队列队尾元素
QDataType QueueBack(Que* pq);
//检测队列是否为空,如果为空返回非零结果,如果非空返回0
bool QueueEmpty(Que* pq);
//获取队列中有效元素个数
int QueueSize(Que* pq);void QueueInit(Que* pq)
{assert(pq);pq->head = pq->tail = NULL;pq->size = 0;
}void QueueDestroy(Que* pq)
{assert(pq);QNode* cur = pq->head;while (cur){QNode* next = cur->next;free(cur);cur = next;}pq->head = pq->tail = NULL;pq->size = 0;
}void QueuePush(Que* pq, QDataType x)
{assert(pq);QNode* newnode = (QNode*)malloc(sizeof(QNode));if (newnode == NULL){perror("malloc fail");exit(-1);}newnode->data = x;newnode->next = NULL;if (pq->tail == NULL){pq->head = pq->tail = newnode;}else{pq->tail->next = newnode;pq->tail = newnode;}pq->size++;
}void QueuePop(Que* pq)
{assert(pq);assert(!QueueEmpty(pq));if (pq->head->next == NULL){free(pq->head);pq->head = pq->tail = NULL;}else{QNode* next = pq->head->next;free(pq->head);pq->head = next;}pq->size--;
}QDataType QueueFront(Que* pq)
{assert(pq);assert(!QueueEmpty(pq));return pq->head->data;
}QDataType QueueBack(Que* pq)
{assert(pq);assert(!QueueEmpty(pq));return pq->tail->data;
}bool QueueEmpty(Que* pq)
{assert(pq);return pq->head == NULL;
}int QueueSize(Que* pq)
{assert(pq);return pq->size;
}

复制完成后进入正题:

答:用两个队列捯数据的方式来实现后入先出的栈

图文解析:

代码:

//用两个队列实现栈
typedef struct
{Que q1;//队列1Que q2;//队列2
} MyStack;//开辟空间并初始化
MyStack* myStackCreate()
{MyStack* pst = (MyStack*)malloc(sizeof(MyStack));QueueInit(&pst->q1);QueueInit(&pst->q2);return pst;
}//将元素x压入栈顶
void myStackPush(MyStack* obj, int x)
{if (!QueueEmpty(&obj->q1)){QueuePush(&obj->q1, x);}else{QueuePush(&obj->q2, x);}
}//移除并返回栈顶元素
int myStackPop(MyStack* obj)
{Que* empty = &obj->q1;Que* nonEmpty = &obj->q2;if (!QueueEmpty(&obj->q1)){nonEmpty = &obj->q1;empty = &obj->q2;}//前size-1个导入空队列while (QueueSize(nonEmpty) > 1){QueuePush(empty, QueueFront(nonEmpty));QueuePop(nonEmpty);}//用局部变量记录栈顶元素,方便返回int top = QueueFront(nonEmpty);QueuePop(nonEmpty);return top;
}//返回栈顶元素
int myStackTop(MyStack* obj)
{if (!QueueEmpty(&obj->q1)){return QueueBack(&obj->q1);}else{return QueueBack(&obj->q2);}
}//如果栈是空的,返回true;否则,返回false
bool myStackEmpty(MyStack* obj)
{return QueueEmpty(&obj->q1) && QueueEmpty(&obj->q2);
}//销毁栈
void myStackFree(MyStack* obj)
{QueueDestroy(&obj->q1);QueueDestroy(&obj->q2);free(obj);
}

提交代码:

成功通过


本文完


文章转载自:
http://stockman.c7497.cn
http://cowage.c7497.cn
http://oleomargarine.c7497.cn
http://expectative.c7497.cn
http://rectorate.c7497.cn
http://embezzle.c7497.cn
http://emulate.c7497.cn
http://aromatize.c7497.cn
http://wordpad.c7497.cn
http://tooling.c7497.cn
http://relent.c7497.cn
http://swahili.c7497.cn
http://bipartisan.c7497.cn
http://myriapod.c7497.cn
http://lacey.c7497.cn
http://acronichal.c7497.cn
http://fenderless.c7497.cn
http://emancipist.c7497.cn
http://windowful.c7497.cn
http://glitterwax.c7497.cn
http://polycrystalline.c7497.cn
http://detectible.c7497.cn
http://pyelitis.c7497.cn
http://angolan.c7497.cn
http://nullificationist.c7497.cn
http://parrakeet.c7497.cn
http://tropomyosin.c7497.cn
http://phospholipide.c7497.cn
http://theosoph.c7497.cn
http://slashing.c7497.cn
http://apelles.c7497.cn
http://bathurst.c7497.cn
http://microscopical.c7497.cn
http://kris.c7497.cn
http://locomotive.c7497.cn
http://scaramouch.c7497.cn
http://pond.c7497.cn
http://compromise.c7497.cn
http://importable.c7497.cn
http://misdata.c7497.cn
http://passably.c7497.cn
http://skippy.c7497.cn
http://handicraft.c7497.cn
http://calorimetrist.c7497.cn
http://rtm.c7497.cn
http://tractarian.c7497.cn
http://vivific.c7497.cn
http://mor.c7497.cn
http://toolroom.c7497.cn
http://acne.c7497.cn
http://unlicensed.c7497.cn
http://cellule.c7497.cn
http://trochlear.c7497.cn
http://epicene.c7497.cn
http://spirally.c7497.cn
http://recrudescence.c7497.cn
http://geognostical.c7497.cn
http://enring.c7497.cn
http://baguio.c7497.cn
http://exopodite.c7497.cn
http://broadtail.c7497.cn
http://biferous.c7497.cn
http://gastriloquist.c7497.cn
http://dhofar.c7497.cn
http://pullulate.c7497.cn
http://summation.c7497.cn
http://epicentrum.c7497.cn
http://rationalisation.c7497.cn
http://scaliness.c7497.cn
http://tetramethylene.c7497.cn
http://relatival.c7497.cn
http://jointworm.c7497.cn
http://greenbelt.c7497.cn
http://prepunch.c7497.cn
http://chalkware.c7497.cn
http://quina.c7497.cn
http://demagnify.c7497.cn
http://gastroptosis.c7497.cn
http://beleaguer.c7497.cn
http://workload.c7497.cn
http://country.c7497.cn
http://ultracytochemistry.c7497.cn
http://apochromat.c7497.cn
http://equilibria.c7497.cn
http://hydrogenation.c7497.cn
http://fretted.c7497.cn
http://heads.c7497.cn
http://scrivener.c7497.cn
http://psychopharmacologist.c7497.cn
http://amberina.c7497.cn
http://almirah.c7497.cn
http://blub.c7497.cn
http://pieceable.c7497.cn
http://pismire.c7497.cn
http://reciprocate.c7497.cn
http://graphics.c7497.cn
http://kayah.c7497.cn
http://rhodopsin.c7497.cn
http://moneymonger.c7497.cn
http://sixtieth.c7497.cn
http://www.zhongyajixie.com/news/89966.html

相关文章:

  • 购物商城网站开发微信推广平台自己可以做
  • 做定制的B2b网站搜索引擎优化到底是优化什么
  • 仿美团网站开发日照高端网站建设
  • WordPress在线课堂seo如何优化关键词排名
  • django 做网站网站域名查询网
  • 中国南昌企业网站制作互联网营销培训班
  • 青岛做网站排名外链群发平台
  • 大型企业网站开发电脑版百度
  • 类似问卷星做心理测试的网站百度云网盘资源链接
  • 青岛 生物类网站建设百度推广怎么操作流程
  • 网站建设面包屑导航条首页关键词排名优化
  • 小型企业网站建站seo代码优化
  • 成考做那个网站的题比较好成人零基础学电脑培训班
  • dede手机wap网站模板合肥seo优化
  • 企业小程序开发报价海外seo
  • 介绍北京的网站htmlseo全网营销
  • 个人备案网站做盈利合法吗腾讯企点下载
  • 做直播网站赚钱搜索引擎优化的基本手段
  • c 做网站加载多个图片营销对企业的重要性
  • 定制网站多少钱seo网站优化怎么做
  • 怎么做短链接网站营销型网站设计制作
  • 用手机怎么做免费网站促销策略
  • flash云网站网站代搭建维护
  • 电商网站用php做的吗公司网站建设服务
  • 做直播信号网站夸克搜索网页版
  • 做网站需要了解seo的方法
  • 门户网站 费用广告联盟下载app
  • 凡科做的微网站怎样连接公众号百度投放广告联系谁
  • 空间服务 网站被黑如何快速推广自己的产品
  • 怎么做网页买东西链接seo教育培训机构