📜  队列操作(1)

📅  最后修改于: 2023-12-03 15:28:49.662000             🧑  作者: Mango

队列操作介绍

队列是一种常用的数据结构,在计算机科学中得到广泛应用。它通常用于保存一系列的元素,并支持在队列末尾添加元素和从队列头部移除元素。以下是队列的常见操作和代码实现。

创建队列

队列可以使用数组或链表实现。创建一个队列需要确定队列的容量或初始化队列的长度。以下是使用数组实现队列的示例代码:

public class ArrayQueue {
    private int[] arr;
    private int front;
    private int rear;
    private int maxSize;
    
    public ArrayQueue(int maxSize) {
        this.maxSize = maxSize;
        this.arr = new int[maxSize];
        this.front = -1;
        this.rear = -1;
    }
}
入队

入队操作是向队列中添加元素的过程。元素将添加到队列的末尾,并且rear指针将指向新元素的位置。以下是入队的示例代码:

public void enqueue(int value) {
    if (isFull()) {
        throw new RuntimeException("Queue is full");
    } else {
        rear++;
        arr[rear] = value;
    }
}
出队

出队操作是从队列头部移除元素的过程。元素将从队列的头部移除,并且front指针将指向新的头部位置。以下是出队的示例代码:

public int dequeue() {
    if (isEmpty()) {
        throw new RuntimeException("Queue is empty");
    } else {
        front++;
        int value = arr[front];
        arr[front] = 0;
        return value;
    }
}
判断队列是否为空

以下是判断队列是否为空的示例代码:

public boolean isEmpty() {
    return front == rear;
}
判断队列是否已满

以下是判断队列是否已满的示例代码:

public boolean isFull() {
    return rear == maxSize - 1;
}
获取队列的首元素

以下是获取队列的首元素的示例代码:

public int getFront() {
    if (isEmpty()) {
        throw new RuntimeException("Queue is empty");
    } else {
        return arr[front + 1];
    }
}
获取队列的长度

以下是获取队列的长度的示例代码:

public int getSize() {
    return rear - front;
}

以上就是队列的常见操作和示例代码。队列是一种非常有用的数据结构,经常被用于解决计算机科学中的各种问题。