Программирование >>  Формирование пользовательского контейнера 

1 ... 110 111 112 [ 113 ] 114 115 116 ... 156


II Выводит сумму элементов с отрицательными индексами, sum = 0;

for(i = ob.getlowerboundO; i < 0; i++) sum += ob[i];

cout Sum of values with negative subscripts is: ; cout sum \n\n ;

Использует алгоритм copyO для копирования одного объекта в другой. * cout Сору ob to оЬ2 using copy О algorithm. \n ;

RangeArray<int> оЬ2(-5, 5, 0); copy(ob.begin(), ob.end(), ob2.beginO ) ;

Использует алгоритм for each() для отображения оЬ2.

cout Contents of оЬ2: \n ;

for each(ob2.begin(), ob2.end(), display);

cout \n\n ;

Применяет алгоритм replace copy if() для удаления значений меньше 0. cout Replace values less than zero with zero.\n ; cout Put the result into ob3.\n ; RangeArray<int> оЬЗ(ob.begin(), ob.end());

В следующей строке применен объект-функция lessO и связыватель bind2ndO .

replace copy if(ob.begin(), ob.end(), оЬЗ.begin(),

bind2nd(less<int>0, 0), 0) ; cout Contents of оЬЗ: \n ; for each(ob3.beginO , ob3.end(), display); cout \n\n ;

cout Swap ob and ob3.\n ;

ob.swap(ob3) ; swap ob and оЬЗ

Cout Here is ob3:\n ;

for each(оЬЗ.begin(), оЬЗ.end(), display);

cout endl;

cout Swap again to restore.\n ; ob.swap(ob3); восстановить



cout Here is оЬЗ after second swap:\n ; for each(оЬЗ.begin(), оЬЗ.end(). display); cout \n\n ;

Используются функции-члены insert().

cout Element at ob[0] is ob[0] endl;

cout Insert values into ob.\n ;

ob.insert(ob.end0, -9999);.

ob.insert(&ob[l], 99);

ob.insert(&ob[-3], -99);

for each(ob.begin(), ob.endO, display);

cout endl;

cout Element at ob[0] is ob[0] \n\n ;

cout Insert -7 three times to front of pb.\n ;

ob.insert(ob.begin(), 3, -7);

for each(ob. begin(), ob.end(), display);

cout endl;

cout Element at оЬГО] is ob[0] \n\n ;

Применяются функции push back() и pop back(). cout Push back the value 40 onto ob.\n ; ob.push back(40);

for each(ob.begin(), ob.end(), display); cout endl; ,

cout Pop back two values from ob.\n ; ob.pop back(); ob.pop back(); for each(ob.begin(), ob.endO, display); cout \n\n ;

Используются функции push front() и pop front(). cout Push front the value 19 onto ob.\n ; ob.push front(19);

for each(ob.begin(), ob.endO, display); cout endl;

cout Pop front two values from ob.\n ;

ob.pop front(); ob.pop front(); ,

for each(ob.begin(), ob.end(), display); cout \n\n ;



II Применяются функции front () и ЬаскО

cout ob.frontO: ob. front О endl;

cout ob.backO: ob.backO \n\n ;

Используются функции eraseO. cout Erase element at 0.\n ; p = ob.erase(&ob[0]);

for each(ob.begin(), ob.end(), display); cout endl;

cout Element at ob[0] is ob[0] endl; cout endl;

cout Erase many elements in ob.\n ; p = ob.erase(&ob[-2], &ob[3]); for each (6b. begin (), ob. end (), display); cout endl;

cout Element at ob[0] is ob[0] endl; cout endl;

cout Insert ob4 into ob.\n ; RangeArray<int> ob4(0, 2, 0); for(i=0; i < 3; i++) ob4[i] = i+100; ob.insert(&ob[01, ob4.beginO, ob4.end()); f or each (ob. begin О , ob. end (), display); cout endl;

cout Element at ob[0]. is ob[0] endl; cout endl;

cout Here is ob shown with its indices:\n ;

for(i=ob.getlowerbound(); i<ob.getupperbound О; i++)

cout [ i 1: ob[i] endl; cout endl;

Применяется функция at О.

cout Use the atO function. \n ;

for(i=ob.getlowerboundО; i < ob.getupperbound(); i++) ob.at(i) = i * 11;

for(i=ob.getlowerbound(); i < ob.getupperbound(); i++)



1 ... 110 111 112 [ 113 ] 114 115 116 ... 156

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика