• 栈队列例题2:SetOfStack放盘子


    代码如下:

      

     1 import java.util.ArrayList;
     2 import java.util.Scanner;
     3 
     4 public class SetOfStack {
     5 
     6     public static void main(String[] args) {
     7         Scanner sc=new Scanner(System.in);
     8         //存储放盘子和拿盘子的操作
     9         int opr[][]=new int[4][2];
    10         for(int i=0;i<opr.length;i++)
    11         {
    12             for(int j=0;j<opr[i].length;j++)
    13             {
    14                 opr[i][j]=sc.nextInt();
    15             }
    16         }
    17         
    18         
    19         ArrayList<ArrayList<Integer>> oprate=SetOfStacks(opr,2);
    20         //剩余盘子的输出
    21         for(ArrayList<Integer> one : oprate)
    22         {
    23             for(int value : one)
    24             {
    25                 System.out.print(value+"  ");
    26             }
    27         }
    28         
    29     }
    30     
    31     public static ArrayList<ArrayList<Integer>> SetOfStacks(int opr[][],int size){
    32         
    33         ArrayList<ArrayList<Integer>> Boss=new ArrayList<ArrayList<Integer>>();  //存储有多少摞盘子
    34         ArrayList<Integer> List=new ArrayList<Integer>();  //一摞盘子
    35         Boss.add(List);
    36         for(int oprAndValue[] : opr)
    37         {
    38             int oprValue=oprAndValue[0];
    39             int oprAdd=oprAndValue[1];
    40             
    41             if(oprValue==1)
    42             {
    43                 if(List.size()==size) {
    44                     List=new ArrayList<Integer>(); 
    45                     Boss.add(List);
    46                     List.add(oprAdd);
    47                 }
    48                 else 
    49                 {
    50                     List.add(oprAdd);
    51                 }
    52             }
    53             else
    54             {
    55                 if(List.size()==0)
    56                 {
    57                     Boss.remove(Boss.size()-1);
    58                     List=Boss.get(Boss.size()-1);
    59                 }
    60                 else 
    61                 {
    62                     List.remove(List.size()-1);
    63                 }
    64             }
    65             
    66         }
    67         return Boss;
    68     }
    69 
    70 }
  • 相关阅读:
    Eclipse打jar包的方法
    Eclipse中SVN插件的安装
    无法远程访问 MySql Server
    TCP(Socket基础编程)
    安装淘宝镜像cnpm时出现问题及解决方案
    搭建vue脚手架---vue-cli
    padding和margin设置成百分比
    响应式布局
    响应式网页:用em,rem设置网页字体大小自适应
    url两次编码
  • 原文地址:https://www.cnblogs.com/LgxBoKeYuan/p/10219700.html
Copyright © 2020-2023  润新知