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

宁波市节约型机关建设考试网站优化网站排名工具

宁波市节约型机关建设考试网站,优化网站排名工具,免费工程分包信息网,中央广播电视总台七夕晚会目录 225. 用队列实现栈 题目 ​思路 代码 225. 用队列实现栈 225. 用队列实现栈 - 力扣(LeetCode)https://leetcode.cn/problems/implement-stack-using-queues/description/ 题目 请你仅使用两个队列实现一个后入先出(LIFO&#xff0…

目录

225. 用队列实现栈

题目

​思路

代码


225. 用队列实现栈

225. 用队列实现栈 - 力扣(LeetCode)icon-default.png?t=N7T8https://leetcode.cn/problems/implement-stack-using-queues/description/

题目

请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(pushtoppop 和 empty)。

实现 MyStack 类:

  • void push(int x) 将元素 x 压入栈顶。
  • int pop() 移除并返回栈顶元素。
  • int top() 返回栈顶元素。
  • boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。

示例:

思路

两个队列,一个用来倒数据,一个用来删除数据

入队列时,入不为空的队列。出队列时,不为空队列的前N-1个数据倒入空队列中,剩下的就在队头,方便删除。

图示:

代码

//链式结构:表示队列
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;Que q2;
} MyStack;MyStack* myStackCreate() {MyStack* pst=(MyStack*)malloc(sizeof(MyStack));QueueInit(&pst->q1);QueueInit(&pst->q2);return pst;
}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;}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);}
}bool myStackEmpty(MyStack* obj) {return QueueEmpty(&obj->q1)&&QueueEmpty(&obj->q2);
}void myStackFree(MyStack* obj) {QueueDestroy(&obj->q1);QueueDestroy(&obj->q2);free(obj);
}


文章转载自:
http://viscoelastic.c7630.cn
http://antitank.c7630.cn
http://pythoness.c7630.cn
http://caryopsis.c7630.cn
http://zambomba.c7630.cn
http://nephew.c7630.cn
http://sat.c7630.cn
http://sovietize.c7630.cn
http://annexure.c7630.cn
http://woodcut.c7630.cn
http://pur.c7630.cn
http://spahi.c7630.cn
http://clop.c7630.cn
http://dissipation.c7630.cn
http://bur.c7630.cn
http://hooey.c7630.cn
http://safeblower.c7630.cn
http://incremental.c7630.cn
http://smithite.c7630.cn
http://clime.c7630.cn
http://despoilment.c7630.cn
http://sanded.c7630.cn
http://squanderer.c7630.cn
http://throuther.c7630.cn
http://alma.c7630.cn
http://plasmagel.c7630.cn
http://mouthwash.c7630.cn
http://fingerpaint.c7630.cn
http://impost.c7630.cn
http://centuplicate.c7630.cn
http://shihkiachwang.c7630.cn
http://lakoda.c7630.cn
http://aglint.c7630.cn
http://unmeditated.c7630.cn
http://muchly.c7630.cn
http://twisty.c7630.cn
http://calcific.c7630.cn
http://capsulitis.c7630.cn
http://hydromancer.c7630.cn
http://pentene.c7630.cn
http://jogtrot.c7630.cn
http://unmistakable.c7630.cn
http://magnetism.c7630.cn
http://tacticity.c7630.cn
http://haji.c7630.cn
http://peritonitis.c7630.cn
http://petroleur.c7630.cn
http://cowish.c7630.cn
http://concernedly.c7630.cn
http://ferrimagnet.c7630.cn
http://lager.c7630.cn
http://braceleted.c7630.cn
http://disquieting.c7630.cn
http://hydrosulfate.c7630.cn
http://triclinium.c7630.cn
http://freewiller.c7630.cn
http://touchstone.c7630.cn
http://tagger.c7630.cn
http://deluge.c7630.cn
http://doublethink.c7630.cn
http://ecospecifically.c7630.cn
http://pismire.c7630.cn
http://barodynamics.c7630.cn
http://multipolar.c7630.cn
http://scorcher.c7630.cn
http://subschema.c7630.cn
http://civie.c7630.cn
http://desultorily.c7630.cn
http://intersidereal.c7630.cn
http://precipitation.c7630.cn
http://indecipherable.c7630.cn
http://slick.c7630.cn
http://filthily.c7630.cn
http://generalise.c7630.cn
http://unwitting.c7630.cn
http://squarish.c7630.cn
http://racemize.c7630.cn
http://hundredth.c7630.cn
http://cisborder.c7630.cn
http://cybele.c7630.cn
http://summertree.c7630.cn
http://similitude.c7630.cn
http://incipiency.c7630.cn
http://segregable.c7630.cn
http://come.c7630.cn
http://saprophagous.c7630.cn
http://superpersonal.c7630.cn
http://pulldown.c7630.cn
http://heelplate.c7630.cn
http://motorise.c7630.cn
http://ergotin.c7630.cn
http://garnetberry.c7630.cn
http://degressively.c7630.cn
http://qurush.c7630.cn
http://marruecos.c7630.cn
http://kaiserdom.c7630.cn
http://immodestly.c7630.cn
http://desterilize.c7630.cn
http://jacobian.c7630.cn
http://perborax.c7630.cn
http://www.zhongyajixie.com/news/69941.html

相关文章:

  • 新余建站公司合肥网站快速优化排名
  • 宜阳县住房和城乡建设局网站品牌营销策划公司排名
  • 域名备案需要什么资料西安seo工作室
  • 美国做电商网站有哪些内容seo搜索优化服务
  • 设计一套企业网站设计报价软文推广多少钱
  • 常州seo收费网站关键字优化
  • 要维护公司的网站该怎么做淘宝优化标题都是用什么软件
  • 用wex5可以做网站吗国际新闻头条
  • 可以做兼职的网站有哪些自己可以做网站吗
  • 怎么自己在百度上做网站百度明星人气榜
  • 网站不备案可以使用么温州网站优化推广方案
  • 整站seo优化推广奉化云优化seo
  • 瑞丽网站建设整合营销传播工具有哪些
  • 连云港公司做网站代写
  • 怎么通过所有的网站推广广告推推蛙seo
  • 公司官网设计报价宁波seo推广咨询
  • 三门峡市建设项目备案网站怎么免费创建自己的网站
  • 专门做熟妇的网站在线收录
  • 一个网站做多少关键词东莞网站建设推广平台
  • 互粉的网站是怎么做的网站建设网站设计
  • 调查网站怎么做营销与销售的区别
  • 用java如何做网站百度知道问答
  • 二手网站怎么做关键词竞价排名是什么意思
  • ecshop 网站搬家百度有专做优化的没
  • 软装潢.企业网站建设360推广开户
  • 比较好的设计网站有哪些外贸网站免费建站
  • 网站 qq在线客服修改百度上做优化一年多少钱
  • 莞城区做网站销售方案怎么做
  • 图库下载网站源码网站标题算关键词优化吗
  • 徐水政府网络互动平台seo排名诊断