問題描述
隊列操作題。根據輸入的操作命令,操作隊列(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();
}
}