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

化妆品网站建设网站右键禁止

化妆品网站建设,网站右键禁止,天津协会网站建设,江苏建设工程交易中心网站目录 225. 用队列实现栈 题目 思路 代码 232. 用栈实现队列 题目 思路 代码 225. 用队列实现栈 225. 用队列实现栈 - 力扣#xff08;LeetCode#xff09;https://leetcode.cn/problems/implement-stack-using-queues/description/ 题目 请你仅使用两个队列实现一个后… 目录 225. 用队列实现栈 题目 思路 代码 232. 用栈实现队列 题目 思路 代码 225. 用队列实现栈 225. 用队列实现栈 - 力扣LeetCodehttps://leetcode.cn/problems/implement-stack-using-queues/description/ 题目 请你仅使用两个队列实现一个后入先出LIFO的栈并支持普通栈的全部四种操作push、top、pop 和 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* emptyobj-q1;Que* nonEmptyobj-q2;if(!QueueEmpty(obj-q1)){nonEmptyobj-q1;emptyobj-q2;}while(QueueSize(nonEmpty)1){QueuePush(empty,QueueFront(nonEmpty));QueuePop(nonEmpty);}int topQueueFront(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); } 232. 用栈实现队列 232. 用栈实现队列 - 力扣LeetCodehttps://leetcode.cn/problems/implement-queue-using-stacks/description/ 题目 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作push、pop、peek、empty 实现 MyQueue 类 void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空返回 true 否则返回 false 示例 思路 两个栈分别为pushst和popstpushst负责插入popst负责删除。插入时往pushst插入。要删除时先将pushst中的元素一个一个移出往popst中导入再从栈顶删除实现先入先出。再要插入时往pushst插入再要删除时先检测popst里面是否还有元素还有就等popst里面删完了再把pushst导入popst继续删。 popst的栈顶相当于队头pushst的栈顶相当于队尾。 图示 代码 #includestdio.h #includeassert.h #includestring.h #includestdlib.h #includestdbool.h// 下面是定长的静态栈的结构实际中一般不实用所以我们主要实现下面的支持动态增长的栈 //静态栈 typedef int STDataType; #define N 10 typedef struct Stack {STDataType _a[N];int _top; // 栈顶 }Stack;//动态栈 支持动态增长的栈 typedef int STDataType; typedef struct stack {STDataType* a;int top;//栈顶int capacity;//容量 }ST;//初始化栈 void STInit(ST* ps); //销毁栈 void STDestroy(ST* ps); //入栈 void STPush(ST* ps, STDataType x); //出栈 void STPop(ST* ps); //获取栈顶元素 STDataType Sttop(ST* ps); //获取栈中有效元素 int STSize(ST* ps); //检测栈中是否为空 bool STEmpty(ST* ps);//̬ջʼ void STInit(ST* ps) {assert(ps);ps-a NULL;ps-capacity 0;//ps-top 0;//ջ } // void STDestroy(ST* ps) {assert(ps);free(ps-a);ps-a NULL;ps-top ps-capacity 0; } // void STPush(ST* ps, STDataType x) {assert(ps);if (ps-top ps-capacity){int newCapacity ps-capacity 0 ? 4 : ps-capacity * 2;STDataType* tmp (STDataType*)realloc(ps-a, sizeof(STDataType) * newCapacity);if (tmp NULL){perror(realloc fail);exit(-1);}ps-a tmp;ps-capacity newCapacity;}ps-a[ps-top] x;ps-top; }//ɾ void STPop(ST* ps)//, STDataType x {assert(ps);assert(ps-top 0);--ps-top; }STDataType STTop(ST* ps) {assert(ps);assert(ps-top 0);return ps-a[ps-top - 1]; }int STSize(ST* ps) {assert(ps);return ps-top; }bool STEmpty(ST* ps) {assert(ps);return ps-top 0; }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);//直接往pushst插入 }int myQueuePop(MyQueue* obj) {int frontmyQueuePeek(obj);STPop(obj-popst);return front; }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); }bool myQueueEmpty(MyQueue* obj) {return STEmpty(obj-popst)STEmpty(obj-pushst); }void myQueueFree(MyQueue* obj) {STDestroy(obj-popst);STDestroy(obj-pushst);free(obj); }
http://www.pierceye.com/news/792618/

相关文章:

  • wordpress 没有样式表网站如何免费做SEO优化
  • 青岛有没有专门做淘宝网站中国建设人才网站
  • 网站移动端是什么问题吗怎样自己做免费的网站
  • 做网站没有做退钱宁波品牌策划公司
  • 网站备案 不关站家乡网页制作模板
  • 成都网站建设企业 排名网络营销推广方案ppt
  • 阳西住房和城乡规划建设局网站微信公众号商城制作
  • 石家庄自助建站软件邯郸做紧固件网站
  • 做川菜的网站动画制作网页
  • 网站建设的英文域名注册需要什么条件
  • wordpress管理系统贵州seo和网络推广
  • 网站第二次备案设计方案审核合格后由谁签字确认
  • 网页设计和网站编辑wordpress 页面瀑布流
  • 福田网站建设龙岗网站建设ie的常用网站
  • 网站推广途径和推广要点地产网站方案
  • 用asp做的网站2021互联网公司100强
  • 网站运营无经验可以做吗垂直类网站怎么做
  • 中国站长网站wordpress开启xmlrpc
  • 网站建设的好处建设工程质量管理条例网站
  • asp.net网站建设教程做电影网站 需要进那些群
  • 2013网站挂马教程长沙网站建设优化
  • 网站搭建详细教程wordpress 找不到主题
  • 陕西省建设厅申报网站大型网站建设公司推荐
  • 企业商城建站外贸建站上海
  • 织梦如何做网站网页设计公司背景
  • 购买域名网站程序员外包公司到底值不值得去
  • 网站出售商品建设广告公司主要做什么
  • 西安的电商网站设计大庆市城乡建设局网站
  • 服装网站建设需要什么内容中国建设银行总行官方网站
  • 免费下载设计素材网站wordpress metaslider