Алгоритмы: Очередь (Queue) | Java

Очередь (читается как Кью, а не Куэуэ) — структура данных с дисциплиной доступа к элементам «первый пришёл — первый вышел» (FIFO).
Добавление элемента (принято обозначать словом enqueue — поставить в очередь) возможно лишь в конец очереди, выборка — только из начала очереди (что принято называть словом dequeue — убрать из очереди), при этом выбранный элемент из очереди удаляется.

Реализация

class Queue { 
    private static int front, rear, capacity; 
    private static int queue[]; 
  
    Queue(int c) 
    { 
        front = rear = 0; 
        capacity = c; 
        queue = new int[capacity]; 
    } 
  
    static void queueEnqueue(int data) 
    { 
        if (capacity == rear) { 
            System.out.printf("\nQueue is full\n"); 
            return; 
        } 
  
        else { 
            queue[rear] = data; 
            rear++; 
        } 
        return; 
    } 
  
    static void queueDequeue() 
    { 
        if (front == rear) { 
            System.out.printf("\nQueue is empty\n"); 
            return; 
        } 
  
        else { 
            for (int i = 0; i < rear - 1; i++) { 
                queue[i] = queue[i + 1]; 
            } 
  
            if (rear < capacity) 
                queue[rear] = 0; 
  
            rear--; 
        } 
        return; 
    } 


Views: 332

11 комментариев удалено