Rumah >pembangunan bahagian belakang >C++ >Apakah Cara Cekap untuk Menjumlahkan Elemen std::vector dalam C ?
Kaedah Cekap untuk Menjumlahkan Elemen dalam std::vector
Dalam senario di mana anda perlu memastikan jumlah kumulatif elemen dalam std ::vektor, beberapa pendekatan cekap wujud.
C 03 Penyelesaian:
Klasik Untuk Gelung:
int sum_of_elems = 0; for (std::vector<int>::iterator it = vector.begin(); it != vector.end(); ++it) sum_of_elems += *it;
Standard Algoritma:
#include <numeric> sum_of_elems = std::accumulate(vector.begin(), vector.end(), 0);
Nota: Jenis hujah akhir menentukan nilai awal dan jenis hasil. Untuk input titik terapung, gunakan 0.0 dan bukannya 0.
C 11 dan Sambungan Atas:
Jenis Vektor Automatik Pengendalian:
#include <numeric> sum_of_elems = std::accumulate(vector.begin(), vector.end(), decltype(vector)::value_type(0));
std::for_each Penggunaan:
std::for_each(vector.begin(), vector.end(), [&](int n) { sum_of_elems += n; });
Berasaskan Julat Untuk Gelung:
for (auto& n : vector) sum_of_elems += n;
C 17 dan Penambahan Kemudian:
std:: kurangkan dengan Jenis Keputusan Automatik:
#include <numeric> auto result = std::reduce(v.begin(), v.end());
Ini lebihan fungsi membolehkan pemprosesan selari untuk koleksi yang banyak.
Atas ialah kandungan terperinci Apakah Cara Cekap untuk Menjumlahkan Elemen std::vector dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!