Встречается на собеседованиях • сегодня

Что такое кольцевая структура данных

Кольцевая структура данных (или циклический буфер) — это массив фиксированного размера, где последний элемент связан с первым, образуя кольцо. При переполнении новые данные перезаписывают старые, начиная с начала буфера.

Основные операции:

  • enqueue — добавление элемента в конец (если буфер полон, перезаписывает начало)
  • dequeue — извлечение элемента из начала

Пример на Java:

java
class CircularBuffer {
    private int[] buffer;
    private int head = 0;
    private int tail = 0;
    private int size = 0;

    public CircularBuffer(int capacity) {
        buffer = new int[capacity];
    }

    public void enqueue(int item) {
        if (size == buffer.length) {
            head = (head + 1) % buffer.length; // перезапись
        } else {
            size++;
        }
        buffer[tail] = item;
        tail = (tail + 1) % buffer.length;
    }

    public int dequeue() {
        if (size == 0) throw new IllegalStateException();
        int item = buffer[head];
        head = (head + 1) % buffer.length;
        size--;
        return item;
    }
}

Применение: очереди с фиксированным размером, потоковая обработка данных, реализация кэшей.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы