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
Došiel 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émiovej sekcie.
ročné PREDPLATNÉ
44 €
mesačne, platené ročne (528 €)14 000+ lekcií, cvičení a testov
6 000+ ti zostane navždy
Neobmedzený prístup ku všetkým aktuálnym
aj pripravovaným kurzom.
Kúpiť iba tento kurz
Získaj okamžitý prístup ku kurzu bez
časového obmedzenia.
15 €
Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš s Prevádzkovými podmienkami.
- Prístup k jednotlivým lekciám podľa spôsobu obstarania.
- 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á.
David sa informačné technológie naučil na