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);