// 循环数组(也称为环形缓冲区或循环队列)是一种数据结构,它使用固定大小的数组,并且在到达数组末尾时返回到开头。
// 以下是一个简单的循环数组的实现示例:
public class CircularArray {
private int[] array;
private int head;
private int tail;
private int capacity;
private int count;
public CircularArray(int size) {
capacity = size;
array = new int[capacity];
head = 0;
tail = 0;
count = 0;
}
// 添加元素到循环数组中
public void enqueue(int value) {
if (isFull()) {
throw new IllegalStateException("CircularArray is full");
}
array[tail] = value;
tail = (tail + 1) % capacity;
count++;
}
// 从循环数组中移除元素
public int dequeue() {
if (isEmpty()) {
throw new IllegalStateException("CircularArray is empty");
}
int result = array[head];
head = (head + 1) % capacity;
count--;
return result;
}
// 检查循环数组是否已满
public boolean isFull() {
return count == capacity;
}
// 检查循环数组是否为空
public boolean isEmpty() {
return count == 0;
}
// 获取循环数组中的元素数量
public int size() {
return count;
}
public static void main(String[] args) {
CircularArray circularArray = new CircularArray(5);
circularArray.enqueue(1);
circularArray.enqueue(2);
circularArray.enqueue(3);
circularArray.enqueue(4);
circularArray.enqueue(5);
System.out.println("Dequeue: " + circularArray.dequeue()); // 输出 1
System.out.println("Dequeue: " + circularArray.dequeue()); // 输出 2
circularArray.enqueue(6);
circularArray.enqueue(7);
System.out.println("Size: " + circularArray.size()); // 输出 5
System.out.println("Is Full: " + circularArray.isFull()); // 输出 true
}
}
enqueue) 和移除 (dequeue) 元素、检查是否已满 (isFull) 和是否为空 (isEmpty) 以及获取当前元素数量 (size)。CircularArray 类,展示了添加和移除元素的过程,并打印相关信息。希望这个示例能帮助你理解循环数组的工作原理!
上一篇:java 字符串转时间戳
下一篇:java 获取年份
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站