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