Класс list
Класс list - это контейнер из стандартной
библиотеки шаблонов (STL), реализующий двусвязный
список. В отличие от вектора, элементы списка
хранятся в отдельных узлах, связанных указателями
друг с другом. Это обеспечивает быструю вставку
и удаление элементов в любом месте списка за
константное время. Однако доступ к произвольному
элементу по индексу невозможен - для этого
приходится последовательно перебирать элементы.
Для использования класса необходимо подключить
заголовочный файл <list>.
Синтаксис
#include <list>
std::list<тип> имя;
Пример
Давайте создадим список из нескольких чисел и выведем его элементы на экран:
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> lst = {1, 2, 3, 4, 5};
for (int el : lst) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте добавим элементы в конец списка
с помощью метода push_back и в начало
с помощью метода push_front:
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> lst = {2, 3, 4};
lst.push_back(5);
lst.push_front(1);
for (int el : lst) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте удалим элемент из середины списка
с помощью метода erase, передав
итератор на нужную позицию:
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> lst = {1, 2, 3, 4, 5};
auto it = lst.begin();
++it;
++it;
lst.erase(it);
for (int el : lst) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 4 5
Пример
Давайте отсортируем список по возрастанию
с помощью метода sort:
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> lst = {5, 2, 4, 1, 3};
lst.sort();
for (int el : lst) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Смотрите также
-
метод
push_back,
который добавляет элемент в конец списка -
метод
push_front,
который добавляет элемент в начало списка -
метод
erase,
который удаляет элемент из списка -
метод
sort,
который сортирует элементы списка