Fronta je jedním ze základních datových typů a slouží k ukládání a výběru dat takovým způsobem, aby prvek, který byl uložen jako první, byl také jako první vybrán. Tomuto principu se říká FIFO - first in, fist out. Opačný přístup - LIFO - last in, first out - používá datový typ zásobník.

Speciálním případem fronty je tzv. prioritní fronta, ve které mohou prvky s vyšší prioritou předbíhat na výstupu ty s nižší prioritou.

Typické operace

Fronta
Fronta
  • addLast (enqueue) – Vloží prvek do fronty.
  • deleteFirst (poll, dequeue) – Získá a odstraní první prvek (hlavu) fronty.
  • getFirst (peek) – Získá první prvek fronty.
  • isEmpty – Dotaz na prázdnost fronty.
  • size – Vrátí počet obsažených prvků.

Využití

Fronta má v informatice široké využití, toto jsou některé příklady:

  • Synchronizační primitivum
  • Operátor roura (pipe) - komunikace mezi procesy v operačních systémech
  • Kruhový buffer - vyrovnávací paměť pro datové toky
  • Řazení prioritní frotou (haldou) - heapsort

Kód

01./**
02. * Fronta - implementovana jako spojovy seznam
03. */
04.public class Queue {
05.    private Node first;
06.    private Node last;
07.    private int size;
08.    public Queue() {
09.        this.size = 0;
10.    }
11. 
12.    /**
13.     * Prida na konec fronty prvek - asymptoticka sloztitost O(1)
14.     * @param i prvek k vlozeni
15.     */
16.    public void addLast(int i) {
17.        Node n = new Node(i);
18.        if(getSize() == 0) {
19.            this.first = n;
20.            this.last = n;
21.        } else {
22.            this.last.next = n;
23.            this.last = n;
24.        }
25.        size++;    
26.    }
27. 
28.    /**
29.     * Odebere z fronty prvni prvek - asymptoticka sloztitost O(1)
30.     * @return prvni prvek
31.     */
32.    public int deteteFirst() {
33.        if(getSize() == 0) throw new IllegalStateException("Fronta je prazdna");
34.        int value = first.value;
35.        first = first.next;
36.        size--;
37.        return value;
38.    }
39.    /**
40.     * Vrati prvni prvek fronty
41.     * @return prvni prvek
42.     */
43.    public int getFirst() {
44.        if(getSize() == 0) throw new IllegalStateException("Fronta je prazdna");
45.        return first.value;
46.    }
47.    /**
48.     * Getter na delku
49.     * @return delka fronty
50.     */
51.    public int getSize() {
52.        return size;
53.    }
54.     
55.    /**
56.     * Dotaz pra prazdnost
57.     * @return true, pokud je fronta prazdna
58.     */
59.    public boolean isEmpty() {
60.        return this.size == 0;
61.    }
62. 
63.    /**
64.     * Klasicka toString metoda, vraci textovou reprezentaci objektu
65.     * @return textova reprezentace objektu
66.     */
67.    @Override
68.    public String toString() {
69.        StringBuilder builder = new StringBuilder();
70.        Node curr = first;
71.        for(int i = 0;  i < this.size; i++) {
72.            builder.append(curr.value).append(" ");
73.            curr = curr.next;
74.        }
75.        return builder.toString();
76.    
77. 
78.    /**
79.     * Vnitrni reprezentace prvku
80.     */
81.    private class Node {
82.        private int value;
83.        private Node next;
84.        private Node(int value) {
85.            this.value = value;
86.        }
87.    }   
88.}

SEO od společnosti Digital Pylon


Online casino s algoritmem

České casino online online slot-vegas.cz

Hrajte nejlepší hry jako je GoodGame Empire.





Zajímavé články: Jak najít práci snů? Zvolte kariéru v IT!, Češi mají rádi hrací automaty online, Jak funguje algoritmické obchodování Casino, Online výuka Algoritmus a online marketing mají svá pravidla, Automaty, Matematický vliv, Ratings, Jak fungují algoritmy hazardních her online: více znalostí, více peněz, SYPWAI - nástroj pro vědecký vývoj, Vynikají na globálním trhu: Nejlepší vývojáři softwaru pro online výherní automaty, Jak si vybrat nejlepší české online casino, Proč byste měli hrát online casino VPN revoluce, Kde najdeme algoritmy v každodenním životě?, Čeká vás pracovní pohovor mimo město? Podívejte se, jak dokonale zvládnout včasný příchod, 5 úžasných technologií ze světa hazardních her, Mirror and access to Mostbet, Svou kancelář můžete mít stále po ruce, Jaké výhody má digitalizovaná firma oproti off-line konkurenci?, Jaký systém vybrat pro snadné řízení výroby?, Nahradí umělá inteligence ajťáky?, Důvody, proč používat SnapTik ke stahování videí TikTok, Dokonalý den na pláži: Co si vzít s sebou, aby byl výlet zábavný a bezpečný?, Jak přežít dlouhý let?, Go pay GoodGame Empire, Blockchain, Rozhovor, Umělá inteligence, Ochranná známka pre softvér: Prečo ju registrovať?, Role kryptografických algoritmů v zabezpečení online kasin, Jaké jsou náklady na nákup 3D tiskárny?, Jak algoritmy vylepšují online zážitky v roce 2025,


Doporučujeme

Internet pro vaši firmu na míru

https://www.algoritmy.net