ホームページ > バックエンド開発 > C++ > C ベクトル内の最大値または最小値を効率的に見つけるにはどうすればよいでしょうか?

C ベクトル内の最大値または最小値を効率的に見つけるにはどうすればよいでしょうか?

DDD
リリース: 2024-10-24 18:58:02
オリジナル
1126 人が閲覧しました

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

C でベクトルの最大値または最小値を取得する方法

C では、ベクトル内の最大値または最小値を見つけることは、共通のタスク。配列とベクトルは類似点を共有していますが、これらの値の取得は 2 つのデータ構造間で若干異なります。

ベクトル

ベクトルの最大値または最小値を取得するには、次のことができます。 <アルゴリズム> の std::max_element() 関数または std::min_element() 関数を使用します。ヘッダ。これらの関数は、ベクトルの先頭と末尾の反復子を引数として受け取り、最大値または最小値を持つ要素を指す反復子を返します。

<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() を直接使用することはできません。代わりに、ループを使用して配列を反復処理し、手動で最大値または最小値を見つけることができます。

<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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート