Алгоритм fill()

Алгоритм fill()

template class ForwardIterator, class Type

void

fill( ForwardIterator first,

ForwardIterator last, const Type& value );

fill() помещает копию значения value в каждый элемент диапазона, ограниченного парой итераторов [first,last).

#include algorithm

#include list

#include string

#include iostream.h

/* печатается:

исходная последовательность элементов массива:

0 1 1 2 3 5 8

массив после fill(ia+1,ia+6):

0 9 9 9 9 9 8

исходная последовательность элементов списка:

c eiffel java ada perl

список после fill(++ibegin,--iend):

c c++ c++ c++ perl

*/

int main()

{

const int value = 9;

int ia[] = { 0, 1, 1, 2, 3, 5, 8 };

ostream_iterator int ofile( cout, " " );

cout "исходная последовательность элементов массива: ";

copy( ia, ia+7, ofile ); cout " ";

fill( ia+1, ia+6, value );

cout "массив после fill(ia+1,ia+6): ";

copy( ia, ia+7, ofile ); cout " ";

string the_lang( "c++" );

string langs[5] = { "c", "eiffel", "java", "ada", "perl" };

list string, allocator il( langs, langs+5 );

ostream_iterator string sofile( cout, " " );

cout "исходная последовательность элементов списка: ";

copy( il.begin(), il.end(), sofile ); cout " ";

typedef liststring,allocator ::iterator iterator;

iterator ibegin = il.begin(), iend = il.end();

fill( ++ibegin, --iend, the_lang );

cout "список после fill(++ibegin,--iend): ";

copy( il.begin(), il.end(), sofile ); cout " ";

}