zoukankan      html  css  js  c++  java
  • 栈队列例题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 }
  • 相关阅读:
    19.模块化
    20.ES7新特性
    22.ES9
    21.ES8新特性
    RabbitMQ:排他性队列(Exclusive Queue)
    为什么要使用消息队列
    收集RabbitMQ的用户
    身份管理提供商:Gigya和PingIdentity
    HTTP协议原理(详细)
    转:Linux下高并发socket最大连接数所受的各种限制
  • 原文地址:https://www.cnblogs.com/LgxBoKeYuan/p/10219700.html
Copyright © 2011-2022 走看看