- Список є безперервним контейнером, а вектор — несуміжним контейнером, тобто список зберігає елементи в безперервній пам’яті, а вектор — у несуміжній пам’яті.
- Вставлення та видалення в середині вектора є дуже дорогим, оскільки це займає багато часу для зміщення всіх елементів. Linklist подолав цю проблему, і це реалізовано за допомогою контейнера списку.
- Список підтримує двонаправлений спосіб і забезпечує ефективний спосіб для операцій вставки та видалення.
- Обхід у списку відбувається повільно, оскільки доступ до елементів списку здійснюється послідовно, тоді як вектор підтримує довільний доступ.
Шаблон для списку
#include #include using namespace std; int main() { list l; } Він створює порожній список значень цілочисельного типу.
Список також можна ініціалізувати за допомогою параметрів.
#include #include using namespace std; int main() { list l{1,2,3,4}; } Список можна ініціалізувати двома способами.
list new_list{1,2,3,4}; or list new_list = {1,2,3,4}; Функції списку C++
Нижче наведено функції-члени списку:
| метод | опис |
|---|---|
| вставити() | Він вставляє новий елемент перед позицією, на яку вказує ітератор. |
| відсунути() | Він додає новий елемент у кінці вектора. |
| push_front() | Це додає новий елемент на передню частину. |
| pop_back() | Він видаляє останній елемент. |
| pop_front() | Він видаляє перший елемент. |
| порожній() | Він перевіряє, порожній список чи ні. |
| розмір() | Він знаходить кількість елементів у списку. |
| max_size() | Знаходить максимальний розмір списку. |
| фронт() | Він повертає перший елемент списку. |
| назад() | Він повертає останній елемент списку. |
| своп() | Він міняє місцями два списки, якщо тип обох списків однаковий. |
| зворотний() | Він перевертає елементи списку. |
| sort() | Він сортує елементи списку в порядку зростання. |
| злиття () | Він об’єднує два відсортовані списки. |
| зрощення() | Він вставляє новий список у список викликів. |
| унікальний() | Він видаляє всі повторювані елементи зі списку. |
| змінити розмір() | Він змінює розмір контейнера списку. |
| призначити() | Він призначає новий елемент контейнеру списку. |
| Місцезнаходження() | Він вставляє новий елемент у вказану позицію. |
| emplace_back() | Він вставляє новий елемент у кінець вектора. |
| emplace_front() | Він вставляє новий елемент на початку списку. |