Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

3. diel - Implementácia fronty v jazyku C

V minulej lekcii, Implementácia zásobníka v jazyku C , sme si ukázali, ako urobiť zásobník bez použitia globálne premenné.

Front (anglicky queue) je kolekcia, inak nazývaná aj FIFO. To je podľa anglického First In First Out, teda prvý prišiel, prvý odišiel. Funguje presne ako fronta pri pokladni v obchode (ak sú zákazníci slušní). Postavíme sa do fronty a až na nás príde rad, tak zaplatíme. Princíp je teda podobný, ako u zásobníka, len sa odoberá na konci fronty ( "pri pokladni") a nie na začiatku.

Dátová štruktúra fronta

Pretože sa na front môžeme pozerať ako z pohľadu zákazníka, tak z pohľadu pokladničné, poďme si ujasniť, kde bude začiatok a kde koniec. V článku sa nám bude do fronty zaraďovať u začiatku (hlavy, anglicky head alebo header) a prvky sa budú odoberať od konca, chvosta (anglicky tail).

Funkcie fronty

Fronte vytvoríme podobné funkcie ako mal zásobník:

  • add() (niekedy tiež enqueue(), pridaj) - pridá na začiatok fronty položku typu ITEM obsahujúce zadané číslo typu int
  • take() (niekedy tiež dequeue(), odober) - odoberie z konca fronty položku typu ITEM
  • peek_head() (pozri na položku, ktorá je na rade) - vráti položku fronty, ktorá je práve na rade (z nášho pohľadu teda na konci fronty), ale položku z frontu neodstraňuje
  • peek_tail() (pozri na poslednú pridanú položku) - vráti poslednú položku fronty (z nášho pohľadu na začiatku), ale položku z frontu neodstraňuje
  • print_collection() (vytlač front) - vypíše obsah fronty od začiatku do konca

Implementácia funkcií

Poučili sme sa so zásobníkom, takže


 

...koniec náhľadu článku...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár korún

Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.

Obmedzená ponuka: Nauč sa všetko a ušetri

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh za exkluzívnu cenu 300 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto výhodného balíčku získaš prístup ku všetkým 17 článkom (17 lekcií) s kontrolou a certifikáciou a ešte naviac ušetríš 76 Kč. Ponuka je časovo obmedzená a platí pro všetky lekcie v kurze. Nakúp teraz a získaj limitovanou 20% zľavu.

Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.

Čo od nás v ďalších lekciách dostaneš?
  • Neobmedzený a trvalý prístup k jednotlivým lekciím.
  • Kvalitné znalosti v oblasti IT.
  • Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.

Popis článku

Požadovaný článok má nasledujúci obsah:

Tutoriál opisuje, čo je to kolekcia front a ako implementovať dynamickú front v jazyku C. Vysvetľuje základné funkcie frontu add (), take () a ďalšie.

Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.

Článok pre vás napísal Daniel Martinko
Avatar
Aktivity