- Zoznam je súvislý kontajner, zatiaľ čo vektor je nesúvislý kontajner, tj zoznam ukladá prvky do súvislej pamäte a vektor sa ukladá do nesúvislej pamäte.
- Vloženie a vymazanie v strede vektora je veľmi nákladné, pretože si vyžaduje veľa času na presun všetkých prvkov. Linklist prekonáva tento problém a je implementovaný pomocou kontajnera zoznamu.
- Zoznam podporuje obojsmerné a poskytuje efektívny spôsob operácií vkladania a vymazávania.
- Prechádzanie je v zozname pomalé, pretože k prvkom zoznamu sa pristupuje postupne, zatiaľ čo vektor podporuje náhodný prístup.
Šablóna pre zoznam
#include #include using namespace std; int main() { list l; }
Vytvára prázdny zoznam hodnôt typu celé číslo.
Zoznam je tiež možné inicializovať pomocou parametrov.
#include #include using namespace std; int main() { list l{1,2,3,4}; }
Zoznam je možné inicializovať dvoma spôsobmi.
list new_list{1,2,3,4}; or list new_list = {1,2,3,4};
Zoznam funkcií C++
Nasledujú členské funkcie zoznamu:
Metóda | Popis |
---|---|
vložiť() | Vloží nový prvok pred pozíciu, na ktorú ukazuje iterátor. |
push_back() | Pridáva nový prvok na koniec vektora. |
push_front() | Do prednej časti pridáva nový prvok. |
pop_back() | Vymaže posledný prvok. |
pop_front() | Vymaže prvý prvok. |
prázdne () | Kontroluje, či je zoznam prázdny alebo nie. |
veľkosť () | Zistí počet prvkov prítomných v zozname. |
max_size() | Nájde maximálnu veľkosť zoznamu. |
predné () | Vráti prvý prvok zoznamu. |
späť() | Vráti posledný prvok zoznamu. |
vymeniť () | Zamení dva zoznamy, keď sú typy oboch zoznamov rovnaké. |
obrátiť () | Obráti prvky zoznamu. |
zoradiť () | Zoraďuje prvky zoznamu v rastúcom poradí. |
zlúčiť() | Zlúči dva zoradené zoznamy. |
spoj () | Vloží nový zoznam do vyvolávacieho zoznamu. |
jedinečný() | Zo zoznamu odstráni všetky duplicitné prvky. |
zmeniť veľkosť () | Zmení veľkosť kontajnera zoznamu. |
priradiť() | Kontajneru zoznamu priradí nový prvok. |
umiestnenie() | Vloží nový prvok na určené miesto. |
emplace_back() | Vloží nový prvok na koniec vektora. |
emplace_front() | Vloží nový prvok na začiatok zoznamu. |