- Lista jest ciągłym kontenerem, podczas gdy wektor jest kontenerem nieciągłym, tj. lista przechowuje elementy w pamięci ciągłej, a wektory w pamięci nieciągłej.
- Wstawianie i usuwanie w środku wektora jest bardzo kosztowne, gdyż zajmuje dużo czasu na przesuwanie wszystkich elementów. Lista linków rozwiązuje ten problem i jest implementowana przy użyciu kontenera list.
- Lista obsługuje dwukierunkowość i zapewnia efektywny sposób operacji wstawiania i usuwania.
- Przechodzenie na liście jest powolne, ponieważ dostęp do elementów listy jest uzyskiwany sekwencyjnie, podczas gdy wektor obsługuje dostęp losowy.
Szablon listy
#include #include using namespace std; int main() { list l; } Tworzy pustą listę wartości typu całkowitego.
Listę można także inicjalizować parametrami.
#include #include using namespace std; int main() { list l{1,2,3,4}; } Listę można zainicjować na dwa sposoby.
list new_list{1,2,3,4}; or list new_list = {1,2,3,4}; Funkcje listowe w C++
Poniżej znajdują się funkcje członkowskie listy:
| metoda | Opis |
|---|---|
| wstawić() | Wstawia nowy element przed pozycją wskazywaną przez iterator. |
| push_back() | Dodaje nowy element na końcu wektora. |
| push_front() | Dodaje nowy element z przodu. |
| pop_back() | Usuwa ostatni element. |
| pop_front() | Usuwa pierwszy element. |
| pusty() | Sprawdza, czy lista jest pusta, czy nie. |
| rozmiar() | Znajduje liczbę elementów znajdujących się na liście. |
| największy rozmiar() | Znajduje maksymalny rozmiar listy. |
| przód() | Zwraca pierwszy element listy. |
| z powrotem() | Zwraca ostatni element listy. |
| zamieniać() | Zamienia dwie listy, gdy typ obu list jest taki sam. |
| odwracać() | Odwraca elementy listy. |
| sortować() | Sortuje elementy listy w kolejności rosnącej. |
| łączyć() | Łączy dwie posortowane listy. |
| splatać() | Wstawia nową listę do listy wywołującej. |
| unikalny() | Usuwa wszystkie zduplikowane elementy z listy. |
| Zmień rozmiar() | Zmienia rozmiar kontenera listy. |
| przydzielać() | Przypisuje nowy element do kontenera listy. |
| Lokalizacja() | Wstawia nowy element w określonej pozycji. |
| miejsce_powrót() | Wstawia nowy element na końcu wektora. |
| miejsce_front() | Wstawia nowy element na początku listy. |