- Список є безперервним контейнером, а вектор — несуміжним контейнером, тобто список зберігає елементи в безперервній пам’яті, а вектор — у несуміжній пам’яті.
- Вставлення та видалення в середині вектора є дуже дорогим, оскільки це займає багато часу для зміщення всіх елементів. 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() | Він вставляє новий елемент на початку списку. |