logo

Zoznam C++

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