Void main(). partial_sort(a, a + 5, a + m, greater<int>());

{

const int m = 8;

int a[m] = {3, 1, 2, 34, 8, 7, 20, 2};

int i;

partial_sort(a, a + 5, a + m, greater<int>());

for (i = 0 ; i < m; i++) cout << a[i] << " ";

cout << endl; // 34 20 8 7 3 1 2 2

}

 

11.3.4 Узагальнені чисельні алгоритми

 

Для використання чисельних алгоритмів потрібно підключити заголовний файл <numeric>.

 

Таблиця 11.6.Узагальнені чисельні алгоритми

 

Алгоритм Виконувана функція
accumulate Накопичення
inner_product Скалярний добуток
partial_sum Розрахунок суми з накопиченням
adjacent_difference Обчислення різниці між суміжними елементами

Алгоритм accumulate.

Перша форма алгоритму accumulate використовується для накопичення суми елементів послідовності, заданої ітераторами first і last. Початкове значення суми (звичайно це 0) задається третім параметром. Тип цього параметра визначає тип результату (функція повертає обчислену суму):

 

template <class In, class Т>

Т accumulate(In first, In last, T init);

Друга форма алгоритму accumulate дозволяє виконувати над третім параметром і черговим елементом послідовності задану операцію:

 

template t<class In, class Т, class BinOp>

T accumulate(In first, In last, T init, BinOp binary_op);

 

У приведеному далі прикладі обчислюється сума, добуток і сума квадратів елементів масиву:

 

#include <iostream>

#include <numeric>

#include <functional>

using namespace std;

 

int sumkv( int s, int x){ return s + x * x;}

 








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


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

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

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

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