русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Функціональні об’єкти


Дата додавання: 2014-04-22; переглядів: 949.


Деяким алгоритмам в якості параметрів потрібні певні функціональні об’єкти. Функціональний об’єкт – це об’єкт шаблонного класу, в якому наявний єдиний метод: перезавантажувана операція {}. Його використання досить просте.

Нехай нам треба відсортувати масив чисел за зростанням чи спаданням. У прикладі 15.6 показано, як це робиться.

//сортування масиву double за спаданням

//використовується функціональний об'єкт greater<>()

#include<iostream>

#include<conio>

#include<algorithm>

#include<functional>

using namespace std;

double fdata[]={19.2,87.4,33.6,55.0,11.5,42.2};

int main()

{//сортування масиву double

sort(fdata,fdata+6,greater<double>());

for(int j=0;j<6;j++) //вивести відсортований масив

cout<<fdata[j]<<' ';

cout<<endl;

getch();

return 0;

}

 

Програма 15.6

Алгоритм sort() звичайно сортує за зростанням, але використання функціонального об’єкту greater<>() в якості третього аргументу sort змінює порядок сортування

 

Крім порівнянн, є функціональні об’єкти для арифметичних і логічних операцій.

 


<== попередня лекція | наступна лекція ==>
Алгоритм merge() | Функції користувача замість функціональних об’єктів


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн