📅  最后修改于: 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;
}
以上就是队列的常见操作和示例代码。队列是一种非常有用的数据结构,经常被用于解决计算机科学中的各种问题。