Java顺序队列(非循环队列)

顺序队列因为是用数组实现的,所以顺序队列的容量是有限的,需要判断是否为满。
入队操作是先将已入队结点往后移,再到头指针出插入要入队的结点。出队是直接找尾指针出队。
package Queue;
public class ArrayQueue {
    
    
    static int[] queue = new int[10];
    static int head = -1; // 头指针
    static int rear = -1; // 尾指针
    public static void main(String[] args) {
    
    
        push(1);
        push(2);
        push(3);
        pop();
        pop();
    }
    public static void push(int data) {
    
    
        if (rear < 10) {
    
     // 判断队是否为满
            rear++;
            for(int i = rear - 1; i > head; i--) {
    
     // 将已经入队的结点向后移动
                queue[i+1] = queue[i];
            }
            queue[head + 1] = data; //新结点入队
        }
        else
            System.out.println("out of queue");
    }
    public static void pop() {
    
     //出队
        if (head == rear) {
    
     // 判断队是否为空
            System.out.println("null");
        }
        else {
    
    
            System.out.println(queue[rear]); // 出队
            rear--;
        }
    }
}
结果如下
1
2

猜你喜欢

转载自blog.csdn.net/qq_35712788/article/details/104765043