382 template void generate(For fi rst, For last, Generator gen); template void generate_n(Out fi rst, Size n, Generator gen); Қарапайым мысал:
#include #include using namespace std; int f(){ static int i = 1; return (++i) * 3; } int main(){ int a[5], i; generate(a, a + 5, f); for (i = 0; i<5; i++) cout << a[i] << " "; // 6 9 12 15 18 return 0; } iter_swap, s wap, swap_ranges iter_swap алгоритмі итераторлармен берілген екі элементтің орындарын
өзара алмастырады:
template void iter_swap(For1 a, For2 b); swap алгоритмі екі элементтің орындарын өзара алмастырады:
template void swap(T& a, T& b); Келесі
swap_ranges алгоритмі берілген екі диапазондағы элементтердің
орындарын өзара алмастырады (екінші диапазонның басталатын орны ғана
көрсетілген):
template For2 swap_ranges(For1 fi rst1, For1 last1, For2 fi rst2); random_shuffl e random_shuffl e алгоритмі кездейсоқ бірқалыпты үлестірімге сəйкес
элементтердің орындарын алмастыруды жүзеге асырады. Алгоритмнің
үшінші параметрі ретінде кездейсоқ сандардың генераторын беруге бола-
ды. Осылайша программаны əрбір іске қосқан кезде əртүрлі нəтижелер алу
мүмкіндігіне ие боламыз. Генератор
int типті
n аргументін қабылдайтын, 0
мен
n аралығындағы бүтін санды қайтаратын функция немесе функционалдық
объект болуы мүмкін.