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