共计 1465 个字符,预计需要花费 4 分钟才能阅读完成。
在 Java 中,可以使用数组和循环来实现固定长度的队列。下面是一个简单的示例代码:
public class FixedSizeQueue {private int[] queue;
private int front;
private int rear;
private int size;
private int capacity;
public FixedSizeQueue(int capacity) {this.capacity = capacity;
queue = new int[capacity];
front = 0;
rear = -1;
size = 0;
}
public void enqueue(int item) {if (isFull()) {throw new RuntimeException("Queue is full");
}
rear = (rear + 1) % capacity;
queue[rear] = item;
size++;
}
public int dequeue() {if (isEmpty()) {throw new RuntimeException("Queue is empty");
}
int item = queue[front];
front = (front + 1) % capacity;
size--;
return item;
}
public boolean isEmpty() {return size == 0;
}
public boolean isFull() {return size == capacity;
}
public int getSize() {return size;
}
}
在这个示例中,我们使用一个数组来表示队列,使用两个指针 front
和rear
来记录队列的前端和后端位置,使用一个变量 size
来记录队列中的元素数量,使用一个变量 capacity
来记录队列的最大容量。
enqueue()方法用于向队列中添加元素,首先检查队列是否已满,如果已满则抛出异常,否则将 rear 指针向后移动一个位置,并将元素添加到新位置上。
dequeue()方法用于从队列中删除元素,首先检查队列是否为空,如果为空则抛出异常,否则将 front 指针向后移动一个位置,并返回原先 front 指针位置上的元素。
isEmpty()方法用于检查队列是否为空,如果队列中元素数量为 0,则返回 true,否则返回 false。
isFull()方法用于检查队列是否已满,如果队列中元素数量等于最大容量,则返回 true,否则返回 false。
getSize()方法用于获取队列中的元素数量。
使用示例:
FixedSizeQueue queue = new FixedSizeQueue(5);
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
queue.enqueue(4);
queue.enqueue(5);
System.out.println(queue.getSize()); // 输出:5
System.out.println(queue.dequeue()); // 输出:1
System.out.println(queue.dequeue()); // 输出:2
queue.enqueue(6);
queue.enqueue(7);
System.out.println(queue.getSize()); // 输出:5
System.out.println(queue.isFull()); // 输出:true
这段示例代码演示了如何使用 FixedSizeQueue 类来创建一个固定长度为 5 的队列,并对队列进行操作。
丸趣 TV 网 – 提供最优质的资源集合!
正文完