Queue ehk järjekord

järjekord on andmestruktuur, kus andmeid lisatakse ja eemaldatakse fifo-in-first-out(FIFO) põhimõttel.

Järjekorral on 3 põhilist meetodit:

  • add() - järjekorda lisamiseks

  • remove - järjekorrast eemaldamiseks

  • peek() - järjekorra esimese elemendi tagastamiseks

FIFO põhimõte

../_images/Fifo_queue.png

enque() ja deque() on javas vastavalt add() ja remove().

lisatakse (enque) alati järjendi lõppu ja neid eemaldatakse (deque) alati järjendi algusest. Sellest tulenevalt kutsutakse seda FIFO (first-in-first-out).

Järjekord javas

Javas on olemas Queue liides ja realisatsioonina saame kasutada klassi LinkedList

public class QueuekExamples {
    import java.util.LinkedList;
    import java.util.Queue;

    public static void main(String[] args) {
        Queue<Integer> queue = new LinkedList<>();
        for (int i = 0; i < 10; i++) {
            queue.add(i); // lisame numbrid 0, 1, ... , 9
        }
        while (!queue.isEmpty()) {
            System.out.println(queue.remove()); // prinditakse numbrid 0, 1, ... , 9
        }
    }
}