- Списъкът е непрекъснат контейнер, докато векторът е несвързан контейнер, т.е. списъкът съхранява елементите в непрекъсната памет, а векторът съхранява в несвързана памет.
- Вмъкването и изтриването в средата на вектора е много скъпо, тъй като отнема много време за преместване на всички елементи. Списъкът с връзки преодолява този проблем и се реализира с помощта на контейнер за списък.
- Списъкът поддържа двупосочно и осигурява ефективен начин за операции по вмъкване и изтриване.
- Преминаването е бавно в списъка, тъй като достъпът до елементите на списъка се извършва последователно, докато векторът поддържа произволен достъп.
Шаблон за списък
#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() | Намира максималния размер на списъка. |
| отпред() | Връща първия елемент от списъка. |
| обратно() | Връща последния елемент от списъка. |
| размяна() | Той разменя два списъка, когато типът на двата списъка е еднакъв. |
| обратен() | Той обръща елементите на списъка. |
| вид() | Той сортира елементите на списъка във възходящ ред. |
| сливане () | Той обединява двата сортирани списъка. |
| снаждане () | Той вмъква нов списък в списъка за извикване. |
| единствен по рода си() | Той премахва всички дублиращи се елементи от списъка. |
| преоразмеряване() | Той променя размера на контейнера на списъка. |
| присвояване () | Той присвоява нов елемент към контейнера на списъка. |
| местоположение () | Той вмъква нов елемент на определена позиция. |
| emplace_back() | Той вмъква нов елемент в края на вектора. |
| emplace_front() | Вмъква нов елемент в началото на списъка. |