Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah saya cekap mencari nilai maksimum dan minimum dalam vektor dalam C?
Mencari Nilai Maksimum atau Minimum dalam Vektor dalam C
Dalam C , mendapatkan nilai maksimum atau minimum dalam vektor ialah tugas yang mudah . Dengan menggunakan fungsi STL (Perpustakaan Templat Standard), kami boleh mencapainya dengan cekap tanpa melelakan keseluruhan bekas.
Menggunakan std::max_element() dan std::min_element()
Pustaka standard menyediakan fungsi std::max_element() dan std::min_element() untuk mencari elemen maksimum dan minimum dalam jujukan nilai, masing-masing. Fungsi ini mengambil sepasang iterator sebagai hujah, menandakan julat di mana carian harus dilakukan. Nilai pulangan ialah iterator yang menunjuk kepada elemen dengan nilai maksimum/minimum.
Sintaks:
<code class="cpp">std::max_element(iterator_begin, iterator_end); std::min_element(iterator_begin, iterator_end);</code>
Contoh:
<code class="cpp">#include <vector> #include <algorithm> std::vector<int> v = {1, 3, 5, 7, 9}; int max_num = *std::max_element(v.begin(), v.end()); int min_num = *std::min_element(v.begin(), v.end()); std::cout << "Maximum value: " << max_num << std::endl; std::cout << "Minimum value: " << min_num << std::endl;</code>
Menggunakan Tatasusunan vs Vektor
Vektor dan tatasusunan ialah kedua-dua bekas dalam C . Walau bagaimanapun, vektor adalah dinamik manakala tatasusunan adalah statik. Oleh itu, pendekatan untuk mendapatkan nilai maksimum/minimum adalah sedikit berbeza.
Untuk tatasusunan, anda boleh terus mengakses elemen dan menentukan nilai maksimum/minimum dengan mengulangi tatasusunan.
Contoh:
<code class="cpp">int arr[] = {1, 3, 5, 7, 9}; int size = sizeof(arr) / sizeof(arr[0]); int max_num = arr[0]; int min_num = arr[0]; for (int i = 1; i < size; i++) { max_num = std::max(max_num, arr[i]); min_num = std::min(min_num, arr[i]); } std::cout << "Maximum value: " << max_num << std::endl; std::cout << "Minimum value: " << min_num << std::endl;</code>
Sebagai kesimpulan, menggunakan std::max_element() dan std::min_element() ialah cara yang mudah untuk mencari nilai maksimum dan minimum dalam vektor. Untuk tatasusunan, anda boleh mengulangi elemen untuk mencapai hasil yang sama.
Atas ialah kandungan terperinci Bagaimanakah saya cekap mencari nilai maksimum dan minimum dalam vektor dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!