logo

C++ списък

  • Списъкът е непрекъснат контейнер, докато векторът е несвързан контейнер, т.е. списъкът съхранява елементите в непрекъсната памет, а векторът съхранява в несвързана памет.
  • Вмъкването и изтриването в средата на вектора е много скъпо, тъй като отнема много време за преместване на всички елементи. Списъкът с връзки преодолява този проблем и се реализира с помощта на контейнер за списък.
  • Списъкът поддържа двупосочно и осигурява ефективен начин за операции по вмъкване и изтриване.
  • Преминаването е бавно в списъка, тъй като достъпът до елементите на списъка се извършва последователно, докато векторът поддържа произволен достъп.

Шаблон за списък

 #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() Вмъква нов елемент в началото на списъка.