Печатать книгуПечатать книгу

Дадатак да главы 1.1.

Сайт: Профильное обучение
Курс: Інфарматыка. 10 клас (Павышаны ўзровень)
Книга: Дадатак да главы 1.1.
Напечатано:: Гость
Дата: Воскресенье, 28 Апрель 2024, 05:13

Некаторыя функцыі для работы з тыпам даных вектар

Функцыя

Дзеянне

v.size()

Вяртае колькасць элементаў

v.resize(n)

Змяняе колькасць элементаў у вектары, новае значэнне становіцца роўным n. Пры гэтым колькасць элементаў можа як паменшыцца, так і павялічыцца. Калі выклікаць у выглядзе v.resize(n, x), дзе x — значэнне, якое адпавядае тыпу элементаў у вектары, то пры павелічэнні колькасці элементаў дабаўляемыя значэнні будуць роўныя x.

v.clear()

Ачышчае вектар, колькасць элементаў становіцца роўнай 0

v.empty()

Вяртае true, калі вектар пусты, false — калі не пусты

v.push_back(x)

Дабаўляе ў канец вектара элемент x, выклікаецца з адным параметрам, тып якога супадае з тыпам элементаў вектара

v.pop_back()

Выдаляе апошні элемент вектара

v.erase(pos).

v.erase(first, last)

Выдаляе адзін элемент, pos — ітэратар, які паказвае на выдаляемы элемент;

выдаляе элементы ў дыяпазоне [first; last).

v.insert(pos, value)

v.insert(pos, value, count)

v.insert(pos, first, last)

Устаўляе value перад элементам, на які паказвае  pos;

устаўляе count копій значэння  value перад элементам, на які паказвае pos;

устаўляе элементы з дыяпазону  [first, last) перад элементам, на які паказвае  pos

v1.swap(v2)

Мяняе месцамі змесціва двух вектараў 

v.begin()

Вяртае ітэратар на першы элемент

v.end()

Вяртае ітэратар на элемент, наступны за апошнім

v.rbegin()

Вяртае адваротны ітэратар на першы элемент

v.rend()

Вяртае адваротны ітэратар на элемент, наступны за апошнім

v.front()

Дае доступ да першага элемента

v.back()

Дае доступ да апошняга элемента

Некаторыя функцыі бібліятэкі algorithm

Функцыя

Дзеянне

Не мадыфікуючыя аперацыі

accumulate

Складае дыяпазон элементаў

djacent_difference

Лічыць розніцу паміж сумежнымі элементамі дыяпазону

adjacent_find

Знаходзіць два ідэнтычныя (ці тыя, што маюць іншыя адносіны) элементы, сумежныя адзін з адным

Count

Вяртае колькасць элементаў, адпаведных дадзенаму значэнню 

count_if

Знаходзіць значэнне ў дадзеным дыяпазоне

equal

Вызначае, ці аднолькавыя два мноствы элементаў 

find

Знаходзіць значэнне ў дадзеным дыяпазоне

find_end

Шукае апошняе ўваходжанне падпаслядоўнасці элементаў у дыяпазон

find_first_of

Шукае ў мностве элементаў першае ўваходжанне любога элемента іншага мноства

find_if

Шукае першае ўваходжанне элемента, для якога дакладна вызначаны прэдыкат 

for_each

Ужывае функцыю да дыяпазону элементаў 

inner_product

Лічыць унутраны прадукт двух дыяпазонаў элементаў 

mismatch

Знаходзіць першую пазіцыю, у якой два дыяпазоны розныя

partial_sum

Лічыць частковую суму дыяпазону элементаў 

search

Выконвае пошук у дыяпазоне элементаў

search_n

Шукае N паслядоўных копій элемента ў дыяпазоне 

Мадыфікуючыя аперацыі

copy

Капіруе некаторы дыяпазон элементаў у новае месца 

copy_backward

Капіруе дыяпазон элементаў у адваротным парадку 

fill

Прысвойвае дыяпазону элементаў пэўнае значэнне 

fill_n

Прысвойвае значэнне некаторай колькасці элементаў 

generate

Захоўвае вынік функцыі ў дыяпазоне

generate_n

Захоўвае вынік N ужыванняў функцыі

iter_swap

Змяняе месцамі элементы, пазначаныя двума ітэратарамі

partition

Дзеліць дыяпазон элементаў на дзве групы 

random_shuffle

Выпадковае перамешванне элементаў дыяпазону 

remove

Выдаляе элемент, роўны вызначанаму значэнню 

remove_copy

Капіруе дыяпазон элементаў, за выключэннем элементаў, роўных вызначанаму значэнню 

remove_copy_if

Стварае копію дыяпазону, за выключэннем элементаў, для якіх прэдыкат з’яўляецца праўдзівым

remove_if

Выдаляе ўсе элементы, для якіх прэдыкат з’яўляецца праўдзівым 

replace

Замяняе кожнае ўваходжанне некаторага значэння ў дыяпазоне іншым значэннем

replace_copy

Капіруе дыяпазон, замяняючы пэўныя значэнні новымі

replace_copy_if

Капіруе дыяпазон значэнняў, замяняючы тыя, для якіх прэдыкат з'яўляецца праўдзівым

replace_if

Замяняе значэнні тых элементаў, для якіх прэдыкат з'яўляецца праўдзівым

reverse

Замяняе кожнае ўваходжанне некаторага значэння ў дыяпазоне іншым значэннем

reverse_copy

Стварае копію некаторага дыяпазону, змяняючы парадак прытрымлівання элементаў на адваротны

rotate

Рухае элементы мноства ўлева на некаторую колькасць пазіцый 

rotate_copy

Капіруе і дыяпазон, зрушваючы ўсе яго элементы на некаторую колькасць пазіцый 

stable_partition

Дзеліць элементы на дзве групы, захоўваючы іх адносны парадак 

swap

Змяняе месцамі значэнні двух аб’ектаў

swap_ranges

Змяняе месцамі два дыяпазоны элементаў 

transform

Ужывае функцыю пераўтварэння да дыяпазону элементаў 

unique

Выдаляе дублікаты элементаў у дыяпазоне 

unique_copy

Стварае копію дыяпазону, якая не змяшчае дублікатаў элементаў 

Сартаванне

nth_element

Устаўляе элемент дыяпазону, захоўваючы ўпарадкаванасць, і правярае, што няма элементаў, для якіх элемент злева большы, чым элемент справа

partial_sort

Сартуе першыя N элементаў дыяпазону 

partial_sort_copy

Капіруе і часткова сартуе дыяпазон элементаў 

sort

Сартуе дыяпазон па ўзрастанні 

stable_sort

Сартуе дыяпазон элементаў, захоўваючы адноснае становішча паміж роўнымі элементамі

Бінарны пошук (аперацыі для адсартаваных дыяпазонаў)

binary_search

Вызначае, ці прысутнічае элемент у некаторым дыяпазоне 

equal_range

Шукае дыяпазон элементаў, роўных вызначанаму элементу 

lower_bound

Шукае першае месца ў дыяпазоне, у якое можна ўставіць значэнне, захоўваючы ўпарадкаванасць

upper_bound

Шукае апошняе месца, куды можна ўставіць значэнні, захоўваючы ўпарадкаванасць (першае месца, у якім элемент большы, чым устаўляемае значэнне) 

Зліццё (аперацыі для адсатраваных дыяпазонаў)

includes

Вяртае праўду, калі адно мноства з’яўляецца падмноствам іншага 

inplace_merge

Выконвае зліццё двух упарадкаваных дыяпазонаў, захоўваючы вынік у іх

merge

Выконвае зліццё двух упарадкаваных дыяпазонаў 

set_difference

Лічыць розніцу паміж двума мноствамі

set_intersection

Лічыць перакрыжаванне двух мностваў

set_symmetric_difference

Лічыць сіметрычную рознасць паміж двума мноствамі

set_union

Вылічвае аб'яднанне двух мностваў

Min/Max

max

Вяртае большы з двух элементаў 

max_element

Вяртае найбольшы элемент у дыяпазоне 

min

Вяртае меншы з двух элементаў 

min_element

Вяртае найменшы элемент у дыяпазоне 

lexicographical_compare

Вяртае праўду, калі адзін дыяпазон лексікаграфічна меншы, чым іншы

next_permutation

Атрымлівае наступную ў лексікаграфічным парадку перастаноўку элементаў дыяпазону 

prev_permutation

Атрымлівае наступную ў лексікаграфічным парадку перастаноўку элементаў дыяпазону 

Некаторыя функцыі для работы з тыпам даных спіс

Функцыя

Дзеянне

front

Доступ да першага элемента  

back

Доступ да апошняга элемента  

empty

Правярае адсутнасць элементаў

size

Вяртае колькасць элементаў

push_front

Устаўляе элемент у пачатак 

pop_front

Выдаляе першы элемент  

push_back

Устаўляе элемент у канец

pop_back

Выдаляе апошні элемент  

clear

Ачышчае спіс 

erase

Выдаляе элементы   

insert

Устаўляе элементы    

resize

Змяняе колькасць захоўваемых элементаў 

merge

Зліццё двух адсартаваных спісаў  

splice

Перамяшчае элементы з іншага  list 

remove
remove_if

Выдаляе элементы, якія задавальняюць вызначаным крытэрам  

reverse

Змяняе парадак элементаў 

unique

Выдаляе паслядоўна паўтаральныя элементы

sort

Сартуе элементы

Некаторыя функцыі для работы з тыпам даных дэк

У адрозненне ад вектару элементы дэка не захоўваюцца бесперапынна: звычайна гэта рэалізавана з дапамогай набору вылучаных масіваў фіксаванага памеру.

Сховішча дэка апрацоўваецца аўтаматычна, пашыраючыся і звужаючыся па меры неабходнасці. Пашырэнне дэка танней, чым пашырэнне вектара, таму што яно не патрабуе капіравання існых элементаў у новы ўчастак памяці.

Да элементаў дэка можна звяртацца па індэксе.

Складанасць (прадукцыйнасць) стандартных аперацый над двухбаковай чаргой наступная:

  • адвольны доступ — пастаянная O(1);
  • устаўка і выдаленне элементаў з пачатку і з канца — амартызаваная пастаянная O(1);
  • устаўка і выдаленне элементаў — лінейная O(n).

Функцыя

Дзеянне

front

Доступ да першага элемента 

back

Доступ да апошняга элемента  

empty

Правярае адсутнасць элементаў

size

Вяртае колькасць элементаў

push_front

Устаўляе элемент у пачатак 

pop_front

Выдаляе першы элемент  

push_back

Устаўляе элемент у канец

pop_back

Выдаляе апошні элемент  

clear

Ачышчае дэк  

insert

Устаўляе элементы па ітэратары

erase

Выдаляе элементы па ітэратары