题解 | #【模板】循环队列#

【模板】循环队列

http://www.nowcoder.com/practice/0a3a216e50004d8bb5da43ad38bcfcbf

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String num = sc.nextLine();
        String[] arr = num.split(" ");
        CircleQueue que = new CircleQueue(Integer.valueOf(arr[0])+1);
        while(sc.hasNextLine()){
            String[] input = sc.nextLine().split(" ");
            if(input[0].equals("push"))
                que.push(Integer.valueOf(input[1]));
            else if(input[0].equals("front"))
               que.front();
            else if(input[0].equals("pop"))
               que.pop();
        }
    }
    
}
class CircleQueue{
    private int maxSize;
    private int front;
    private int rear;
    private int[] circle;
    public CircleQueue(int size){
        maxSize = size;
        circle = new int[maxSize];
        front = 0;
        rear = 0;
    }
    public void push(int num){
        if((rear+1)%maxSize==front){
            System.out.println("full");
        }else{
            circle[rear] = num;
            rear = (rear+1)%maxSize;
        }
            
    }
    public void front(){
        if(rear==front)
            System.out.println("empty");
        else
            System.out.println(circle[front]);
        
    }
    public void pop(){
        if(rear == front)
            System.out.println("empty");
        else{  
            System.out.println(circle[front]);
            front = (front+1)%maxSize;
        }
    }
}

注意: 1.在源文件中规定只有一个类为public类型,且与文件名相同。 因为每个文件(编译单元)只有一个public类,表示每个文件都有单一的公共接口,通过public来表现。如果有多个以上就会报错。 2.循环队列往往牺牲一个单元来区分队空和队满。 队满条件:(Q.rear+1)%MaxSize==Q.front 队空条件:Q.rear==Q.front 相比于队列,循环队列的优点是不会出现假队满(假溢出)的情况。

全部评论

相关推荐

双尔:反手回一个很抱歉,经过慎重考虑,您与我的预期暂不匹配,感谢您的投递
点赞 评论 收藏
分享
10-13 16:58
门头沟学院 Java
点赞 评论 收藏
分享
11-20 22:03
东北大学 Java
用哈基米写的简历,有点夸大,等我后面改谦虚点,能不能找个日常实习,项目是点评和天机,没什么荣誉要不要把蓝桥杯和六级删了算了,实在没门面
程序员花海:日常实习这份简历够用的,等实习之后把实习经历结合业务好好写一下 到时候把实习经历放在项目经历的前面 可以看我主页修改简历的模板
如何写一份好简历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务