Bagaimana untuk mencari nilai maksimum atau minimum dengan cekap dalam vektor C?

DDD
Lepaskan: 2024-10-24 18:58:02
asal
1095 orang telah melayarinya

How to efficiently find the maximum or minimum value within a C   vector?

Cara Mendapatkan Nilai Maksimum atau Minimum dalam Vektor dalam C

Dalam C , mencari nilai maksimum atau minimum dalam vektor ialah tugas biasa. Walaupun tatasusunan dan vektor berkongsi persamaan, mendapatkan nilai ini berbeza sedikit antara dua struktur data.

Vektor

Untuk mendapatkan nilai maksimum atau minimum dalam vektor, anda boleh gunakan fungsi std::max_element() atau std::min_element() daripada pengepala. Fungsi ini membawa iterator ke permulaan dan akhir vektor sebagai argumen dan mengembalikan iterator yang menunjuk ke elemen dengan nilai maksimum atau minimum.

<code class="cpp">#include <vector>
#include <algorithm>

int main() {
  std::vector<int> vector = {1, 2, 3, 4, 5};

  // Getting the maximum value
  int max = *std::max_element(vector.begin(), vector.end());
  std::cout << "Maximum: " << max << std::endl;

  // Getting the minimum value
  int min = *std::min_element(vector.begin(), vector.end());
  std::cout << "Minimum: " << min << std::endl;

  // Using iterators
  std::vector<int>::iterator it_max = std::max_element(vector.begin(), vector.end());
  std::cout << "Element with maximum value: " << *it_max << std::endl;
}
Salin selepas log masuk

Array

Dalam kes tatasusunan, anda tidak boleh terus menggunakan std::max_element() atau std::min_element() kerana ia memerlukan iterator. Sebaliknya, anda boleh menggunakan gelung untuk mengulang tatasusunan dan mencari nilai maksimum atau minimum secara manual.

<code class="cpp">int main() {
  int array[5] = {1, 2, 3, 4, 5};

  // Getting the maximum value
  int max = array[0];
  for (int i = 1; i < 5; i++) {
    if (array[i] > max) {
      max = array[i];
    }
  }
  std::cout << "Maximum: " << max << std::endl;
}</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk mencari nilai maksimum atau minimum dengan cekap dalam vektor C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan