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
аралығындағы бүтін санды қайтаратын функция немесе функционалдық
объект болуы мүмкін.
|