Большинство стандартных алгоритмов из библиотеки STL связаны с обработкой данных: они их копируют, сортируют, выполняют поиск среди них и т.д. В то же время некоторые из них предназначены для вычислений. Они могут оказаться полезными как для решения конкретных задач, так и для демонстрации общих принципов реализации численных алгоритмов в библиотеке STL. Существуют всего четыре таких алгоритма.
Numerical algorithms
Численные алгоритмы
x=accumulate(b,e,i)
x=inner_product(b,e,
b2,i)
r=partial_sum(b,e,r)
Суммирует последовательности; например, для последовательности {a,b,c,d} результат равен i+a+b+c+d. Тип результата x совпадает с типом начального значения i Перемножает пары значений из двух последовательностей и суммирует результаты; например, для последовательностей {a,b,c,d} и {e,f,g,h} результат равен i+a*e+b*f+c*g+d*h. Тип результата x совпадает с типом начального значения i Создает последовательность, состоящую из сумм первых n элементов заданной последовательности; например, для последовательности {a,b,c,d} результат равен {a, a+b, a+b+c, a+b+c+d}
r=adjacent_difference( Создает последовательность разностей между элементами за- b,e,b2,r) данной последовательности; например, для последовательно
сти {a,b,c,d} результат равен {a,b-a,c-b,d-c}
Эти алгоритмы определены в заголовке . Мы опишем первые два из них, а остальные при необходимости читатели могут изучить самостоятельно.
|