Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java 循环数组

作者:未來的款姐"   发布日期:2025-11-03   浏览:52

// 循环数组(也称为环形缓冲区或循环队列)是一种数据结构,它使用固定大小的数组,并且在到达数组末尾时返回到开头。
// 以下是一个简单的循环数组的实现示例:

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
    }
}

解释说明:

  • CircularArray 类:实现了循环数组的基本功能,包括添加 (enqueue) 和移除 (dequeue) 元素、检查是否已满 (isFull) 和是否为空 (isEmpty) 以及获取当前元素数量 (size)。
  • 构造函数:初始化循环数组的容量、头部和尾部指针及元素计数器。
  • enqueue 方法:将元素添加到尾部,并更新尾部指针。如果数组已满,则抛出异常。
  • dequeue 方法:从头部移除元素,并更新头部指针。如果数组为空,则抛出异常。
  • isFull 和 isEmpty 方法:分别用于检查数组是否已满或为空。
  • main 方法:演示了如何使用 CircularArray 类,展示了添加和移除元素的过程,并打印相关信息。

希望这个示例能帮助你理解循环数组的工作原理!

上一篇:java 字符串转时间戳

下一篇:java 获取年份

大家都在看

java连接数据库的代码

java djl

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java发送qq邮件

java 判断

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站