Головна‎ > ‎C++‎ > ‎

Список

#include <list>


list<int> list1;                 // пустий
list<int> list2(5);              // онулений список з 5 чисел
list<int> list3(5, 2);           // список з 5 чисел, які дорівнюють 2-м
list<int> list4{ 1, 2, 3 };      // список з чисел 1, 2, 3
list<int> list5 = { 1, 2, 3 };   // список з чисел 1, 2, 3
list<int> list7 = list5;         // список list7 - копия list5
list<int> list6(list5);          // список list6 - копія list5



list<int> numbers = { 3, 5, 7, 9, 11, 13 };

int size = numbers.size();     // 6
int first = numbers.front();   // 3
int last = numbers.back();    // 13
bool b = numbers.empty();   // false


for (int n : numbers){
     cout << n << " ";
}


// через ітератори
for (auto it = numbers.begin(); it != numbers.end(); it++)
{
     cout << *it << " ";
}




numbers.resize(3);      // урізіти до 3 елементів
numbers.resize(5, 7)   // урізіти до 6 елементів, нові елементи заповнити 7-ми

numbers.assign({ 10, 20, 30, 40, 50 });   // замінти на
numbers.assign({ 5, 5 });   // замінти на 5-ки

auto start = ++values.begin();   // ітератор вказує на другий елемнт
auto end = --values.end();   // ітератор вказує на передостанній елемент
numbers.assign(start, end);   // урізати 

list1.swap(list2);  // обмінятися посилання на сиписки елементів



Додавання

numbers.push_back(a) - додати в кінець списку

numbers.push_front(a) - додати в початок списку

numbers.emplace_back(a) - додати в кінець списку

numbers.emplace_front(a) - додати в початок списку

numbers.emplace(pos, a) - вставляє елемент на позицію, на яку вказує ітератор pos. 
Повертає ітератор на доданий елемент

numbers.insert(pos, a) - вставляє елемент на позицію, на яку вказує ітератор pos. 
Повертає ітератор на доданий елемент

numbers.insert(pos, n, a) - вставляє n елементів val починаючи з позиції, на яку вказує ітератор pos. Повертає ітератор на перший доданий елемент. Якщо n = 0, то повертається ітератор pos.

numbers.insert(pos, begin, end) - вставляє починаючи з позиції, на яку вказує ітератор pos, елементи з іншого контейнера з діапазону між ітераторами begin і end. Повертає ітератор на перший доданий елемент. Якщо між ітераторами begin і end немає елементів, то повертається ітератор pos.

numbers.insert(pos, values) - вставляє список значень ​​починаючи з позиції, на яку вказує ітератор pos. Повертає ітератор на перший доданий елемент. 
Якщо values ​​не містить елементів, то повертається итератор pos.



Видалення

numbers.clear() - видаляє всі елементи; clear(p)

numbers.pop_back() - видаляє останній елемент

numbers.pop_front() - видаляє перший елемент

numbers.erase(p) - видаляє елемент, на який вказує ітератор p. Повертає ітератор на елемент, наступний після видаленого, або на кінець контейнера, якщо видалений елемент був останнім 

numbers.erase(begin, end) - видаляє елементи з діапазону, на початок і кінець якого вказують ітератори begin і end. Повертає ітератор на елемент, наступний після останнього видаленого, або на кінець контейнера, якщо видалений останній елемент.