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

甘肃做网站哪家好优书网首页

甘肃做网站哪家好,优书网首页,科技网站官网,增城网站建设怎么选择实现两个栈模拟队列 思路:可以想象一下左手和右手,两个栈:stack1(数据所在的栈) ,stack2(临时存放)。 入队:需要将入队 num 加在 stack1 的栈顶即可; 出队&am…

实现两个栈模拟队列

思路:可以想象一下左手和右手,两个栈:stack1(数据所在的栈) ,stack2(临时存放)。
入队:需要将入队 num 加在 stack1 的栈顶即可;
出队:这个就会麻烦点,需要用到临时栈stack2。先将 stack1中的所有元素放到 stack2中,再把stack2的顶部元素弹出一个,再把 stack2中的元素放回到stack1中,切记!不要忘了把stack2中的元素放回到stack1中!!!

代码如下:

import java.util.Scanner;
import java.util.Stack;/*** @author: Arbicoral* @Description: 两个栈模拟队列*/
public class StackSimulateQueue {private static Stack<Integer> stack1 = new Stack<>();private static Stack<Integer> stack2 = new Stack<>();public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.print("请输入要入队列的数(以-1结束):");while (true){if (sc.hasNextInt()){int next = sc.nextInt();if (next == -1){break;} else {stack1.push(next);}}}// 测试StackSimulateQueue ssq = new StackSimulateQueue();ssq.print();// 打印当前队列中的值ssq.push(356);//入队ssq.poll();//出队ssq.print();ssq.poll();ssq.poll();ssq.print();ssq.poll();ssq.print();ssq.poll();}// 出队列:先把 stack1中的所有元素放到 stack2中,再把stack2的顶部元素弹出,还需要再把 stack2中的元素放回到stack1中public void poll(){if (stack1.isEmpty()){System.out.println("队列中空空如也~~");}while (!stack1.isEmpty()){stack2.push(stack1.pop());}System.out.println("出队:" + stack2.pop());while (!stack2.isEmpty()){stack1.push(stack2.pop());}}// 入队列:需要将新添加的数据压入 stack1底部,即,先把 stack1 -> stack2,再把 num放到stack1,stack2 -> stack1// 入队列:直接放到 stack1顶部即可public void push(Integer num){System.out.println("入队:" + num);stack1.push(num);}// 打印当前队列// 注意:应该先将 stack1中的元素放到 stack2中,stack2弹出一个存一个,打印后放回 stack1中public void print(){System.out.print("当前队列中有:");while (!stack1.isEmpty()){stack2.push(stack1.pop());}// 放回stack1while (!stack2.isEmpty()){int temp = stack2.pop();System.out.print(temp + "\t");stack1.push(temp);}System.out.println();}
}

示例:

输入:12 32 53 67 2 5 7 -1
输出:
image.png

http://www.hkea.cn/news/897426/

相关文章:

  • 铜陵公司做网站中国网站排名100
  • 我要建一个网站泰州百度公司代理商
  • php响应式网站模板vi设计公司
  • 随身wifi网站设置广告投放是做什么的
  • 中企动力做网站的优势网络销售平台有哪些软件
  • 网站建设的费用如何查看百度搜索指数
  • 自己做网站需要什么seo的基本步骤
  • 视频直播app开发网站南京最新消息今天
  • 溧阳手机网站哪里做万网域名注册官网查询
  • 网站维护收费推广产品吸引人的句子
  • 怎么用一个主机做多个网站许昌网络推广公司
  • 网站域名所有权郑州网站运营专业乐云seo
  • 桂园精品网站建设费用网站seo查询站长之家
  • 安卓手机怎么做网站站长工具seo综合查询广告
  • 余姚网站建设的公司手机百度账号申请注册
  • 预付网站制作费怎么做凭证如何自制网站
  • 定制网站多少钱北京seo网站管理
  • 南昌做网站公司哪家好如何建立独立网站
  • 成都解放号网站建设什么是百度竞价
  • 网站优化的基本思想与原则百度号码
  • 沧州网站建设制作设计优化深圳seo优化推广
  • 建立一个网站需要什么技术网上培训机构
  • 网站设计与管理论文百度账号注册平台
  • 网站空间商推荐seo是什么职位缩写
  • 怎么建设boss网站文件外链
  • 百度推广网站建设费百度搜索引擎的网址是多少
  • php 手机网站 上传图片定制网站建设
  • 关于网站建设的问题百度关键词分析
  • 登录官方网站装修公司网络推广方案
  • 设计网站官网入口网站搜索优化方法