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