Giriş
STL algoritmalarını işlevlerine göre gruplamak anlamayı çok daha kolaylaştırıyor.
accumulate
std::accumulate yazısına taşıdım.
adjacent_difference
STL algoritmalarını işlevlerine göre gruplamak anlamayı çok daha kolaylaştırıyor.
accumulate
std::accumulate yazısına taşıdım.
adjacent_difference
Örnek ver
inner_product
inner_product ile dot product aynı şeyler. Hiç bir zaman kullanmaya ihtiyacım olmadı. Tek işe yaradığını okuduğum yer iki vektörün birbirlerine dik olup olmadığını anlamaya yaramaları. Birbirine dik iki vektörün inner_product sonucu sıfırdır.
partial_sum
accumulate algoritmasına çok benziyor. Tek farkı ara işlemlerin sonucunu bir yere yazıp saklayabilmesi. Nihai sonuç ise çıktının son elemanıdır.
inner_product
inner_product ile dot product aynı şeyler. Hiç bir zaman kullanmaya ihtiyacım olmadı. Tek işe yaradığını okuduğum yer iki vektörün birbirlerine dik olup olmadığını anlamaya yaramaları. Birbirine dik iki vektörün inner_product sonucu sıfırdır.
partial_sum
accumulate algoritmasına çok benziyor. Tek farkı ara işlemlerin sonucunu bir yere yazıp saklayabilmesi. Nihai sonuç ise çıktının son elemanıdır.
Örnek
iter1begin + iter1end , iter2out + binary op şeklindedir. Binary op olarak lambda kullanılabilir. Şöyle yaparız.
std::partial_sum(v.begin(), v.end(), v.begin(), [](auto& a, auto& b) {
return std::min(a, b);
});
Örnek
Şöyle yaparız. v dizindeki her eleman birbiri ile çarpılıyor.
std::vector<double> v{ 1.0, 2.0, 3.0, 4.0 };
std::partial_sum(std::begin(v), std::end(v),
std::begin(v), std::multiplies<double>());
Çıktı şöyledir1 2 6 24
Hiç yorum yok:
Yorum Gönder