383
template
void
random_shuffl e(Ran fi rst, Ran last);
template
void
random_shuffl e(Ran fi rst, Ran last,
RandomNumberGenerator& rand);
Генератор енгізілген мысалда
тақырыптық файлында
жарияланған
rand
функциясы қолданылған:
#include
#include
#include
using namespace std;
struct random_gen{
random_gen(){srand((unsigned int)time(NULL)); }
int operator()(int n){return rand() % n;}
};
int main(){
int a[5] = {1, 2, 3, 4, 5}, i;
random_shuffl e(a, a + 5, random_gen());
for (i = 0; i < 5; i++)
cout << a[i] << " "; // 5 3 4 1 2
cout << endl;
return
0;
}
remove, remove_if, remove_copy, remove_copy_if
remove
тектес алгоритмдер тізбектің элементтерін берілген
value
мəні
бойынша немесе
pred
предикаты бойынша тізбектің соңына жылжытады.
Бұл кезде тізбектің қалған элементтері өзара орналасу реттіліктерін сақтай
отырып, тізбектің бас жақ бөлігіне қарай ығыстырылады. Алгоритм олардың
орналасу шекарасын қайтарады. Шекарадан кейін орналасқан элементтер
өшірілмейді, тізбектің өлшемі өзгертілмейді.
copy
сөзі бар алгоритмнің фор-
малары өңдеудің алдында тізбекті
Out
итераторы арқылы берілген орынға
көшіреді де, тізбектің көшірмесін өңдейді.
template
For remove(For fi rst, For last, const T& value);
Достарыңызбен бөлісу: |