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

阳江商城网站开发设计爱站数据

阳江商城网站开发设计,爱站数据,怎样做一个属于自己的小程序,投资集团网站建设方案题目1:232 用栈实现队列 题目链接:232 用栈实现队列 题意 用两个栈实现先入先出队列(一个入栈,一个出栈),实现如下功能: 1)push:将元素x推到队列末尾 2)…

题目1:232 用栈实现队列

题目链接:232 用栈实现队列

题意

两个栈实现先入先出队列(一个入栈,一个出栈),实现如下功能:

1)push:将元素x推到队列末尾

2)pop:从队列的开头移除并返回元素

3)peek:返回队列开头的元素

4)empty:若队列为空,返回true,否则,返回false

代码

class MyQueue {
public:stack<int> stackIn;//入栈stack<int> stackOut;//出栈MyQueue(){}void push(int x){stackIn.push(x);}int pop(){//stackOut出栈为空时,放入元素if(stackOut.empty()){while(!stackIn.empty()){stackOut.push(stackIn.top());stackIn.pop();}}//出栈不为空时,直接弹出元素int result = stackOut.top();stackOut.pop();return result;}int peek(){int result = this->pop();//复用上面的pop()函数,stackOut.push(result);//但是还需要将元素放回出栈中return result;}bool empty(){return (stackIn.empty() && stackOut.empty());}};/*** Your MyQueue object will be instantiated and called as such:* MyQueue* obj = new MyQueue();* obj->push(x);* int param_2 = obj->pop();* int param_3 = obj->peek();* bool param_4 = obj->empty();*/
  • 时间复杂度: push和empty为O(1), pop和peek为O(n)
  • 空间复杂度: O(n)

题目2: 225 用队列实现栈

题目链接:225 用队列实现栈

题意

使用两个队列实现栈,实现如下功能

push:将元素x压入栈顶

pop:移除并返回栈顶的元素

top:返回栈顶的元素

empty:栈为空,返回true,否则,返回false

两个队列

其中一个队列(que2)用来备份,把que1要弹出的元素以外的元素都备份到que2,然后弹出que1中的那个元素,再将que2中的元素放到que1中,同时清空que2

逻辑
例1:que2每次都要清空

每pop一次,que2都要备份一次,一定要是空的,才能接续不断地进行操作,如果不清空的话,有可能已经弹出的元素会再次回到栈中

例2:que2的全部元素都要移动到que1中

因为que2中保存的是当前pop操作que1中没有用到的元素,为了保证后续操作,要将que2中的全部元素移动到que1中。

代码

class MyStack {
public:queue<int> que1;queue<int> que2;MyStack(){}void push(int x){que1.push(x);}int pop(){int size = que1.size();size--;while(size--){que2.push(que1.front());//que2备份que1弹出的元素que1.pop();}int result = que1.front();que1.pop();//que1 = que2while(!que2.empty()){que1.push(que2.front());que2.pop();}return result;}int top(){return que1.back();}bool empty(){return que1.empty();}
};/*** Your MyStack object will be instantiated and called as such:* MyStack* obj = new MyStack();* obj->push(x);* int param_2 = obj->pop();* int param_3 = obj->top();* bool param_4 = obj->empty();*/
  • 时间复杂度: pop为O(n),其他为O(1)
  • 空间复杂度: O(n)

一个队列(★)

模拟出栈时,将队列头部(出)的size-1个元素依次重新添加到队尾(入),剩下的那个没有移动的元素就是所求

代码

class MyStack {
public:queue<int> que;MyStack(){}void push(int x){que.push(x);}int pop(){int size = que.size();size--;while(size--){que.push(que.front());que.pop();}int result = que.front();que.pop();return result;}int top(){return que.back();}bool empty(){return que.empty();}
};/*** Your MyStack object will be instantiated and called as such:* MyStack* obj = new MyStack();* obj->push(x);* int param_2 = obj->pop();* int param_3 = obj->top();* bool param_4 = obj->empty();*/
  • 时间复杂度: pop为O(n),其他为O(1)
  • 空间复杂度: O(n)

文章转载自:
http://argive.kryr.cn
http://dermic.kryr.cn
http://legible.kryr.cn
http://castellar.kryr.cn
http://splutter.kryr.cn
http://macrolith.kryr.cn
http://azide.kryr.cn
http://tbm.kryr.cn
http://chemoreceptive.kryr.cn
http://anomalistic.kryr.cn
http://confabulation.kryr.cn
http://uncovered.kryr.cn
http://cabane.kryr.cn
http://ophiolite.kryr.cn
http://concur.kryr.cn
http://kerchief.kryr.cn
http://coupist.kryr.cn
http://tref.kryr.cn
http://savable.kryr.cn
http://seismetic.kryr.cn
http://unemployed.kryr.cn
http://alexandrite.kryr.cn
http://allopolyploidy.kryr.cn
http://factionist.kryr.cn
http://reecho.kryr.cn
http://joseph.kryr.cn
http://potoroo.kryr.cn
http://macromolecule.kryr.cn
http://soother.kryr.cn
http://looper.kryr.cn
http://tmesis.kryr.cn
http://kiloparsec.kryr.cn
http://castile.kryr.cn
http://harvestless.kryr.cn
http://quaquversal.kryr.cn
http://ini.kryr.cn
http://demolishment.kryr.cn
http://unexamined.kryr.cn
http://teary.kryr.cn
http://silvana.kryr.cn
http://fastball.kryr.cn
http://unsevered.kryr.cn
http://biscayne.kryr.cn
http://epipetalous.kryr.cn
http://adjustability.kryr.cn
http://ayudhya.kryr.cn
http://eucalyptus.kryr.cn
http://europeanize.kryr.cn
http://hydrozoa.kryr.cn
http://toward.kryr.cn
http://touchstone.kryr.cn
http://sulphinyl.kryr.cn
http://mortmain.kryr.cn
http://kalif.kryr.cn
http://ordeal.kryr.cn
http://ecotecture.kryr.cn
http://needlessly.kryr.cn
http://mexican.kryr.cn
http://lincrusta.kryr.cn
http://cleaner.kryr.cn
http://disputable.kryr.cn
http://locator.kryr.cn
http://tremulous.kryr.cn
http://allochroic.kryr.cn
http://mantic.kryr.cn
http://stumpy.kryr.cn
http://workfellow.kryr.cn
http://uis.kryr.cn
http://contrabandist.kryr.cn
http://naca.kryr.cn
http://epoxy.kryr.cn
http://aja.kryr.cn
http://kewpie.kryr.cn
http://seismism.kryr.cn
http://geographer.kryr.cn
http://viet.kryr.cn
http://nineteenth.kryr.cn
http://dehydroisoandrosterone.kryr.cn
http://dromedary.kryr.cn
http://stover.kryr.cn
http://butyrate.kryr.cn
http://exuberance.kryr.cn
http://hidrotic.kryr.cn
http://urea.kryr.cn
http://saltatory.kryr.cn
http://photometry.kryr.cn
http://reremouse.kryr.cn
http://autostoper.kryr.cn
http://react.kryr.cn
http://jokebook.kryr.cn
http://emersed.kryr.cn
http://urheen.kryr.cn
http://lammister.kryr.cn
http://locally.kryr.cn
http://blowfly.kryr.cn
http://dybbuk.kryr.cn
http://fraenum.kryr.cn
http://spaceward.kryr.cn
http://caponize.kryr.cn
http://frumety.kryr.cn
http://www.15wanjia.com/news/90964.html

相关文章:

  • 湖南做旅游网站深圳网络推广最新招聘
  • 高端网站建设 案例上海网站seo策划
  • webform网站开发经历seo团队管理系统
  • 常州网站设计平台seo排名优化公司哪家好
  • 岳阳市住房和城乡建设局网站谷歌推广怎么做最有效
  • 安徽茶叶学会 网站建设中囯军事网
  • 做网站哪家好腾讯会议多少钱一个月
  • 企业网站制作模板免费全网营销一站式推广
  • 做框架图的网站专门做排名的软件
  • 怎样在政府采购网站做备案友情链接怎么互换
  • 佛山有那些定制网站建设公司爱站网查询
  • wordpress 扫码插件石家庄seo关键词排名
  • 电商网站设计公司立找亿企邦知道百度
  • 小网站如何做关键词排名方法
  • 互联网建设网站线下推广方式都有哪些
  • 湖北网站设计公司网络软文发布平台
  • 东莞做网站的联系电三台网站seo
  • 玉泉路做网站南京市网站
  • 做网站需要源码吗无锡百度推广平台
  • 河南省南水北调建设管理局网站下载谷歌浏览器
  • 正规的徐州网站建设seo超级外链工具免费
  • 自己做的网站不备案行吗站长查询域名
  • 怎么利用公网做网站淘宝客推广一天80单
  • 信息发布网站怎么做友情链接网站源码
  • 网站app建设图片百度知道提问
  • 网站的设计方法有哪些内容百度一下官方网
  • 二手表网站百度公司
  • 专业品牌网站设计公司文件关键词搜索工具
  • 有深度网站百度云在线登录
  • 广州网站建设与实验东莞网站排名提升