Дадатак да главы 1.1.
| Сайт: | Профильное обучение |
| Курс: | Інфарматыка. 10 клас (Павышаны ўзровень) |
| Падручнік: | Дадатак да главы 1.1. |
| Надрукаваны: | Госць |
| Дата: |
Friday 28 November 2025 |
Некаторыя функцыі для работы з тыпам даных вектар
|
Функцыя |
Дзеянне |
|
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 |
Выдаляе элементы, якія задавальняюць вызначаным крытэрам |
|
reverse |
Змяняе парадак элементаў |
|
unique |
Выдаляе паслядоўна паўтаральныя элементы |
|
sort |
Сартуе элементы |
Некаторыя функцыі для работы з тыпам даных дэк
У адрозненне ад вектару элементы дэка не захоўваюцца бесперапынна: звычайна гэта рэалізавана з дапамогай набору вылучаных масіваў фіксаванага памеру.
Сховішча дэка апрацоўваецца аўтаматычна, пашыраючыся і звужаючыся па меры неабходнасці. Пашырэнне дэка танней, чым пашырэнне вектара, таму што яно не патрабуе капіравання існых элементаў у новы ўчастак памяці.
Да элементаў дэка можна звяртацца па індэксе.
Складанасць (прадукцыйнасць) стандартных аперацый над двухбаковай чаргой наступная:
- адвольны доступ — пастаянная O(1);
- устаўка і выдаленне элементаў з пачатку і з канца — амартызаваная пастаянная O(1);
- устаўка і выдаленне элементаў — лінейная O(n).
|
Функцыя |
Дзеянне |
|
front |
Доступ да першага элемента |
|
back |
Доступ да апошняга элемента |
|
empty |
Правярае адсутнасць элементаў |
|
size |
Вяртае колькасць элементаў |
|
push_front |
Устаўляе элемент у пачатак |
|
pop_front |
Выдаляе першы элемент |
|
push_back |
Устаўляе элемент у канец |
|
pop_back |
Выдаляе апошні элемент |
|
clear |
Ачышчае дэк |
|
insert |
Устаўляе элементы па ітэратары |
|
erase |
Выдаляе элементы па ітэратары |