- A lista egy összefüggő tároló, míg a vektor egy nem szomszédos tároló, azaz a lista az elemeket egy szomszédos memóriában tárolja, a vektor pedig egy nem szomszédos memóriában.
- A vektor közepén történő beszúrás és törlés nagyon költséges, mivel sok időt vesz igénybe az összes elem eltolása. A hivatkozáslista megoldja ezt a problémát, és a listatároló segítségével valósítja meg.
- A lista támogatja a kétirányú beállítást, és hatékony módot biztosít a beillesztési és törlési műveletekhez.
- A bejárás lassú a listában, mivel a listaelemek egymás után érhetők el, míg a vektor támogatja a véletlenszerű hozzáférést.
Sablon a listához
#include #include using namespace std; int main() { list l; } Létrehoz egy üres listát az egész típusú értékekből.
A lista a paraméterekkel is inicializálható.
#include #include using namespace std; int main() { list l{1,2,3,4}; } A lista kétféleképpen inicializálható.
list new_list{1,2,3,4}; or list new_list = {1,2,3,4}; C++ függvények listája
A lista tagfunkciói a következők:
| Módszer | Leírás |
|---|---|
| insert() | Beszúrja az új elemet az iterátor által megjelölt pozíció elé. |
| visszavet() | Új elemet ad hozzá a vektor végéhez. |
| push_front() | Új elemmel egészíti ki az előlapot. |
| pop_back() | Törli az utolsó elemet. |
| pop_front() | Törli az első elemet. |
| üres() | Ellenőrzi, hogy a lista üres-e vagy sem. |
| méret() | Megkeresi a listában lévő elemek számát. |
| max_size() | Megkeresi a lista maximális méretét. |
| elülső() | A lista első elemét adja vissza. |
| vissza() | A lista utolsó elemét adja vissza. |
| csere() | Két listát cserél, ha a lista típusa megegyezik. |
| fordított() | Megfordítja a lista elemeit. |
| fajta() | A lista elemeit növekvő sorrendbe rendezi. |
| összeolvad() | Egyesíti a két rendezett listát. |
| splice() | Új listát szúr be a meghívó listába. |
| egyedi() | Ez eltávolítja az összes ismétlődő elemet a listáról. |
| átméretezés() | Megváltoztatja a listatároló méretét. |
| hozzárendelni() | Új elemet rendel a listatárolóhoz. |
| elhelyezkedés() | Új elemet szúr be egy megadott helyre. |
| emplace_back() | Új elemet szúr be a vektor végére. |
| emplace_front() | Új elemet szúr be a lista elejére. |