Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mencari nilai maksimum atau minimum dengan cekap dalam vektor C?

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

DDD
DDDasal
2024-10-24 18:58:02996semak imbas

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;
}

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>

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!

Kenyataan:
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