首頁 > 後端開發 > C++ > 如何有效地找到 C 向量內的最大值或最小值?

如何有效地找到 C 向量內的最大值或最小值?

DDD
發布: 2024-10-24 18:58:02
原創
1285 人瀏覽過

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

如何在C 中檢索向量中的最大值或最小值

在C 中,找出向量中的最大值或最小值是共同任務。雖然數組和向量有相似之處,但獲取這兩種資料結構之間的值略有不同。

向量

要擷取向量中的最大值或最小值,您可以使用 中的std::max_element() 或std::min_element( ) 函數標頭。這些函數將向量開頭和結尾的迭代器作為參數,並傳回指向具有最大值或最小值的元素的迭代器。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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

}

登入後複製

Arrays

對於數組,您不能直接使用 std::max_element() 或 std::min_element() 因為它們需要迭代器。相反,您可以使用循環來迭代數組並手動查找最大值或最小值。

1

2

3

4

5

6

7

8

9

10

11

12

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

登入後複製

以上是如何有效地找到 C 向量內的最大值或最小值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板