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

想学网站搭建与推广烟台网站制作策划

想学网站搭建与推广,烟台网站制作策划,网站的权限设置,网页设计模板代码免费232. 用栈实现队列 232.用栈实现队列 这里用两个栈来模拟队列以此实现队列的先进先出, 注意点 1.dump()方法将stackin的元素移入到stackout的操作,是要将stackin的全部元素放到stackout中,所以用while循环判断 stackIn是否为空 2.新建栈…

232. 用栈实现队列

232.用栈实现队列

这里用两个栈来模拟队列以此实现队列的先进先出,

注意点

1.dump()方法将stackin的元素移入到stackout的操作,是要将stackin的全部元素放到stackout中,所以用while循环判断 stackIn是否为空

2.新建栈的方法

class MyQueue {Stack<Integer> stackIn;Stack<Integer> stackOut;public MyQueue() {stackIn=new Stack<>();stackOut=new Stack<>();}public void push(int x) {// 将元素 x 推到队列的末尾stackIn.push(x);}public int pop() {//从队列的开头移除并返回元素dump();return stackOut.pop();}public int peek() {//返回队列开头的元素dump();return stackOut.peek();}public boolean empty() {// 如果队列为空,返回 true ;否则,返回 falsereturn stackIn.isEmpty()&&stackOut.isEmpty();}public void dump(){//如果stackout为空,那么把stackin的元素放到stackout中if(!stackOut.isEmpty()){return;}while(!stackIn.isEmpty()){//注意这里是while,这里如果是while(stackOut.isEmpty()),那么push进去一个就结束了// System.out.println(stackIn.pop());这里先pop了,导致后面empty()方法输出错误stackOut.push(stackIn.pop());}}
}/*** 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();* boolean param_4 = obj.empty();*/

225. 用队列实现栈

225.用队列实现栈

队列实现栈(需要二刷)

解法1 使用两个队列实现栈

  • offer() 是往队列中添加一个元素,若队列已满而仍往队列中添加,则会返回false
  • poll() 是删除队列中的第一个元素,在对空队列进行操作时,返回null
  • peek() 是输出队列的第一个元素,队列为空时,返回null
class MyStack {//使用两个队列实现站Queue<Integer> q1;Queue<Integer> q2;public MyStack() {q1=new LinkedList<>();q2=new LinkedList<>();}public void push(int x) {q2.offer(x);//先给q2添加一个元素while(!q1.isEmpty()){q2.offer(q1.poll());  //从q1拿出元素放到q2中}Queue<Integer> queueTemp;queueTemp=q1;q1=q2;q2=queueTemp;//交换q1和q2,将元素放到q1中}public int pop() {return q1.poll();}public int top() {return q1.peek();}public boolean empty() {return q1.isEmpty();}
}/*** 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();* boolean param_4 = obj.empty();*/

解法2 使用1个队列实现栈

思路是每次向队列添加一个元素后,对队列中的元素进行重新排序


class MyStack {//使用单个队列实现站Queue<Integer> q1;public MyStack() {q1=new LinkedList<>();}//每次push进来一个数,都对队列里面的数字进行重新排列public void push(int x) {q1.offer(x);//添加一个数字int size=q1.size();while(size-->1){q1.offer(q1.poll());}}public int pop() {return q1.poll();}public int top() {return q1.peek();}public boolean empty() {return q1.isEmpty();}
}/*** 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();* boolean param_4 = obj.empty();*/

http://www.yayakq.cn/news/610614/

相关文章:

  • 全国医院网站建设opencart做视频网站
  • 网站描述怎么设置网站模版 之星
  • 宝安西乡网站建设开发企业app公司
  • 湖南城乡建设厅官方网站新建网站百度搜不到
  • 新手学做网站12天婴二级域名怎么做网站备案
  • 网上做调查赚钱的网站微网站工程案例展示
  • 无锡中小企业网站制作网站做推广要备案吗
  • 钓鱼网站下载appwordpress设置文章图片
  • 做网站要什么颜色模式网站设置点赞
  • 重庆未来科技网站建设服务器iis做网站
  • 平果县免费网站哪家好wordpress搜索查询插件
  • 郑州网站建设 智巢logo图案素材免费网站
  • 网站开发重要性西安做网站公司报价
  • 第三方免费做网站如何查询中小企业名单
  • wordpress 主题路径郑州东区网站优化公司推荐
  • 用wordpress制作网站装修公司网站源码php
  • 企业建设网站公司哪家好网业协同是什么意思
  • 杭州钱塘区网站建设做美食视频的网站
  • 温州做高端网站公司健身房网站模板
  • wordpress 视差沈阳seo博客
  • 徐州最新通知今天厦门网站建设方案优化
  • 网络公司网站推广可信网站logo
  • 重庆建网站计划网站 description
  • 代做课题网站樟树网站制作
  • 域名的网站建设方案书wordpress如何实现301跳转
  • 网站服务器如何搭建网站建设步骤 文档
  • 长尾关键词爱站做网站遇到的问题及解决方法
  • 大连网站推广排名上海建设摩托车科技有限公司官网
  • 网站修改网站建设是怎么一回事
  • 网站怎么引蜘蛛wordpress弹出提示框