藍橋杯隊列操作JAVA代碼

問題描述
  隊列操作題。根據輸入的操作命令,操作隊列(1)入隊、(2)出隊並輸出、(3)計算隊中元素個數並輸出。
輸入格式

    第一行一個數字N。
  下面N行,每行第一個數字爲操作命令(1)入隊、(2)出隊並輸出、(3)計算隊中元素個數並輸出。
輸出格式
  若干行每行顯示一個2或3命令的輸出結果。注意:2.出隊命令可能會出現空隊出隊(下溢),請輸出“no”,並退出。
樣例輸入
7
1 19
1 56
2
3
2
3
2
樣例輸出
19
1
56
0
no
數據規模和約定
  1<=N<=50
  
思路分析:建立數組,讀取輸入元素,利用循環對輸入的數進行遍歷,讀到1,將下一個數讀入數組,讀到2,輸出數組第一個數,並刪除。讀到3,輸出數組中存儲的元素個數。
代碼:`

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int N = in.nextInt();//得到行數
        int[] arr = new int[N];
        int k=0;//記錄數組中元素個數
        for (int i=0;i<N;i++){
            int n = in.nextInt();
            if (n==1){
           		 //入隊
            	arr[k++]=in.nextInt();
            }else if (n==2){
                if (k>0){
                	//輸出
                    System.out.println(arr[0]);
                    //arr[0]出隊
                    for (int j=0;j<k;j++){
                        arr[j]=arr[j+1];
                    }
                    k--;
                }else{
                    System.out.println("no");
                }
            }else {
                System.out.println(k);
            }

        }
        in.close();
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章