829. 模擬隊列

實現一個隊列,隊列初始爲空,支持四種操做:java

(1) 「push x」 – 向隊尾插入一個數x;spa

(2) 「pop」 – 從隊頭彈出一個數;code

(3) 「empty」 – 判斷隊列是否爲空;xml

(4) 「query」 – 查詢隊頭元素。blog

如今要對隊列進行M個操做,其中的每一個操做3和操做4都要輸出相應的結果。隊列

輸入格式

第一行包含整數M,表示操做次數。it

接下來M行,每行包含一個操做命令,操做命令爲」push x」,」pop」,」empty」,」query」中的一種。class

輸出格式

對於每一個」empty」和」query」操做都要輸出一個查詢結果,每一個結果佔一行。import

其中,」empty」操做的查詢結果爲「YES」或「NO」,」query」操做的查詢結果爲一個整數,表示隊頭元素的值。object

數據範圍

1M1000001≤M≤100000,
1x1091≤x≤109,
全部操做保證合法。

輸入樣例:

10 push 6 empty query pop empty push 3 push 4 pop query push 6 

輸出樣例:


隊列先入先出

代碼:NO 6 YES 4
import java.util.Scanner;

public class Main{
         static final int max=(int)1e5+5;
         static int que[]=new int[max];
         static int h=0,q=1;
        public static void main(String[] args) {
                 Scanner scan=new Scanner(System.in);
                 int m=scan.nextInt();
                 while(m-->0){
                       String s=scan.next();
                       if(s.equals("push")){
                               int x=scan.nextInt();
                               que[++h]=x;
                       }
                       else if(s.equals("query")){
                            System.out.println(que[q]);
                       }
                       else if(s.equals("pop")){
                               q++;
                       }
                       else if(s.equals("empty")){
                            if(h<q) System.out.println("YES");
                            else System.out.println("NO");
                       }
                 }
        }
}
相關文章
相關標籤/搜索