Void main(). for (i = 0; i < 4; i++) cout << b[i]; // 2 3 4 5

{

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;

}

 

Алгоритм copyможна застосовувати також для введення і виведення послідовності. Для цього третім параметром задається потоковий ітератор:

 

#include <iostream>

#include <algorithm>

using namespace std;

 

Void main()

{

const int N = 5;

int a[N] = {1, 2, 3, 4, 5};

copy (a, a + N, ostream_iterator<int>(cout," " ) );

cout << endl;

}

 

Результат роботи програми:

1 2 3 4 5

 

У наступному прикладі розглядається копіювання вектору (vector) у список (list), використовуючи ітератори back_inserter(), front_inserter(), inserter().

 

#include <iostream>

#include <vector>

#include <list>

using namespace std;

 

Void main()

{

int a[5] = {1,2,3,4,5};

vector <int> w(a, a+5);

list <int> L;

list<int>::iterator ff = L.begin();

 

copy (w.begin(),w.end(), back_inserter(L));

copy (w.begin(),w.end(), front_inserter(L));

copy (w.begin(),w.end(), inserter(L,L.begin()));

cout <<"insert\n";

 

for (ff = L.begin();ff != L.end();ff++)

cout <<*ff <<" " ;

}

Результат роботи програми:

insert

1 2 3 4 5 5 4 3 2 1 1 2 3 4 5

 

Наведемо приклад використання алгоритмів fill, flll_n:

 

#include <iostream>

#include <algorithm>

using namespace std;

 








Дата добавления: 2014-12-26; просмотров: 591;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.