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