logo

Ц++ листа

  • Листа је континуални контејнер док је вектор несуседни контејнер, тј. листа складишти елементе у суседној меморији, а вектор складишти у несуседној меморији.
  • Убацивање и брисање у средини вектора је веома скупо јер је потребно много времена за померање свих елемената. Листа линкова превазилази овај проблем и имплементира се помоћу контејнера листе.
  • Листа подржава двосмерни и пружа ефикасан начин за операције уметања и брисања.
  • Прелазак је спор на листи јер се елементима листе приступа секвенцијално док вектор подржава насумични приступ.

Шаблон за листу

 #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}; 

Функције листе Ц++

Следе функције чланова листе:

Метод Опис
инсерт() Умеће нови елемент пре позиције на коју указује итератор.
потисне() Додаје нови елемент на крају вектора.
пусх_фронт() Додаје нови елемент на предњу страну.
поп_бацк() Брише последњи елемент.
поп_фронт() Брише први елемент.
празно() Проверава да ли је листа празна или не.
величина() Проналази број елемената присутних на листи.
мак_сизе() Проналази максималну величину листе.
фронт() Враћа први елемент листе.
назад() Враћа последњи елемент листе.
свап() Замењује две листе када је тип обе листе исти.
реверсе() Преокреће елементе листе.
врста() Она сортира елементе листе у растућем редоследу.
споји() Он спаја две сортиране листе.
спој () Убацује нову листу у листу за позивање.
јединствен() Уклања све дуплиране елементе са листе.
промените величину() Он мења величину контејнера листе.
додели() Додељује нови елемент контејнеру листе.
локација() Умеће нови елемент на одређену позицију.
емплаце_бацк() Умеће нови елемент на крај вектора.
емплаце_фронт() Умеће нови елемент на почетак листе.