logo

Seznam C++

  • Seznam je souvislý kontejner, zatímco vektor je nesouvislý kontejner, tj. seznam ukládá prvky do souvislé paměti a vektor se ukládá do nesouvislé paměti.
  • Vkládání a mazání uprostřed vektoru je velmi nákladné, protože posouvání všech prvků zabere spoustu času. Linklist tento problém překonává a je implementován pomocí list kontejneru.
  • Seznam podporuje obousměrné a poskytuje efektivní způsob pro operace vkládání a mazání.
  • Procházení je v seznamu pomalé, protože k prvkům seznamu se přistupuje postupně, zatímco vektor podporuje náhodný přístup.

Šablona pro seznam

 #include #include using namespace std; int main() { list l; } 

Vytvoří prázdný seznam hodnot typu integer.

Seznam lze také inicializovat pomocí parametrů.

 #include #include using namespace std; int main() { list l{1,2,3,4}; } 

Seznam lze inicializovat dvěma způsoby.

 list new_list{1,2,3,4}; or list new_list = {1,2,3,4}; 

Seznam funkcí C++

Níže jsou uvedeny členské funkce seznamu:

Metoda Popis
vložit() Vloží nový prvek před pozici, na kterou ukazuje iterátor.
zatlačit zpátky() Přidá nový prvek na konec vektoru.
push_front() Do přední části přidává nový prvek.
pop_back() Vymaže poslední prvek.
pop_front() Vymaže první prvek.
prázdný() Kontroluje, zda je seznam prázdný nebo ne.
velikost() Zjistí počet prvků přítomných v seznamu.
max_size() Zjistí maximální velikost seznamu.
přední() Vrátí první prvek seznamu.
zadní() Vrátí poslední prvek seznamu.
swap() Vymění dva seznamy, když jsou typy obou seznamů stejné.
zvrátit() Obrátí prvky seznamu.
seřadit () Seřadí prvky seznamu v rostoucím pořadí.
spojit() Sloučí dva seřazené seznamy.
spoj () Vloží nový seznam do vyvolávacího seznamu.
unikátní() Odebere všechny duplicitní prvky ze seznamu.
změnit velikost () Změní velikost kontejneru seznamu.
přiřadit() Přiřadí nový prvek kontejneru seznamu.
umístění() Vloží nový prvek na určené místo.
emplace_back() Vloží nový prvek na konec vektoru.
emplace_front() Vloží nový prvek na začátek seznamu.