代码如下:
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 }