result басының итераторы тағайындалады:
template Out copy(In fi rst, In last, Out result); copy_backward алгоритмі берілген тізбектің соңғы элементінен ба-
стап көшіруді орындайды. Үшінші параметр қабылдаушы тізбектің соңғы
элементінен кейін орналасатын элементті көрсету керек, өйткені оның мəні
əрбір элементті көшіру операциясынан бір қадам бұрын кемиді:
template Bi2 copy_backward(Bi1 fi rst, Bi1 last, Bi2 result); Тізбектер бір-бірімен қиылысуы мүмкін. Көшіру кезінде шығыс тізбектің
шекараларынан шығып кетпеуін қадағалап отыру керек.
Тізбектің көшірмесін алудың мысалы:
#include #include using namespace std; int main(){ int b[4], a[5] = {1, 2, 3, 4, 5}, i; copy (a + 1, a + 5, b); for (i = 0; i < 4; i++) cout << b[i]; // 2 3 4 5 cout << endl; copy (a + 1, a+5, a); for (i = 0; i < 5; i++) cout << a[i]; // 2 3 4 5 5 cout << endl; copy_backward (b, b + 3, b + 4); for (i = 0; i < 4; i++) cout << b[i]; // 2 2 3 4 cout << endl; return 0; } copy алгоритмін тізбекті енгізу жəне шығару үшін де қолдануға болады.
Ол үшін үшінші параметр ретінде ағымдық итератор беріледі (361 б.):
381 #include #include using namespace std; int main(){ const int N = 5;