IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

12. diel - Implementácia vektora v jazyku C

V minulej lekcii, Použitie kolekcií z knižnice Glib v C , sme si ukázali použitie voľne dostupné knižnice Glib a univerzálnych kolekcií, ktoré poskytuje.

Dnes si predstavíme kolekciu vektor, ktorá funguje ako pole, ale nie je veľkostne obmedzená.

Dnešné lekcie o kolekciu vektor pochádza z kurzu Dynamická práca s pamäťou v jazyku C. Ak ste ju už absolvovali, môžete ju preskočiť. Pretože si zakladáme na poskytovanie kvalitných a kompletných kurzov, vnímame ako dôležité, aby bola táto problematika súčasťou i kurzu kolekcií.

Motivácia

Oproti spojovému zoznamu má polia výhodu v rýchlosti náhodného prístupu. Vieme, že prvky poľa sa v pamäti nachádzajú bezprostredne za sebou. Nie je teda problém okamžite preskočiť napr. Na piaty prvok. Pole funguje ako ukazovateľ na pozíciu 0, v tomto prípade teda stačí vziať veľkosť jedného prvku a skočiť v pamäti o štvornásobok tejto veľkosti doprava.

Hlavnou nevýhodou poľa však je, že jeho veľkosť je obmedzená. Akonáhle pole vytvárame, musíme uviesť, aký veľký priestor (ako veľkú riadku jedničiek a núl) pre neho má operačný systém v pamäti vyhradiť. Ak budeme programovať napr. Telefónny zoznam, dá sa veľmi zle odhadnúť, koľko čísel v ňom bude náš užívateľ mať. Bude to 10 alebo 1000 ? Mohli by sme vytvoriť polia telefónnych čísel o veľkosti 1000. Užívateľ by potom využíval len jeho časť a bolo by to lepšie riešenie, než keď veľkosť poľa podceníme a používateľmi aplikácie oznámi, že nemá kam ukladať (v tom lepšom prípade) alebo pamäť rovno pretečie. Ako to ale urobiť správne?


 

...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.

Kúpiť tento kurz

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh iba za 375 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto balíčku získaš prístup ku všetkým 17 článkom (17 lekcií) tohoto kurzu.

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:

V C tutoriálu implementujeme dynamickú kolekciu vektor, ktorá funguje ako pole, ale nie je veľkostne obmedzená.

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 David Hartinger
Avatar
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity