「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > C++ でベクトル内の最大値と最小値を効率的に見つけるにはどうすればよいですか?

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

2024 年 11 月 13 日に公開
ブラウズ:828

How do I efficiently find the maximum and minimum values within a vector in C  ?

C でのベクトルの最大値または最小値の検索

C では、ベクトルの最大値または最小値を取得するのは簡単な作業です。 。 STL (Standard Template Library) 関数を利用することで、コンテナ全体を反復処理することなくこれを効率的に実現できます。

std::max_element() と std::min_element() を使用する

標準ライブラリには、最大値と最小値を見つけるための関数 std::max_element() および std::min_element() が提供されています。それぞれ値のシーケンス内の要素。これらの関数は、検索を実行する範囲を示す一対の反復子を引数として受け取ります。戻り値は、最大値/最小値を持つ要素を指す反復子です。

Syntax:

std::max_element(iterator_begin, iterator_end);
std::min_element(iterator_begin, iterator_end);

例:

#include 
#include 

std::vector 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 

配列とベクトルの使用

ベクトルと配列は両方ともコンテナーですC.ただし、ベクトルは動的ですが、配列は静的です。したがって、最大値/最小値を取得するアプローチは若干異なります。

配列の場合、要素に直接アクセスし、配列を反復処理することで最大値/最小値を決定できます。

例:

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 

結論として、std::max_element() と std::min_element() を使用するのが便利です。ベクトル内の最大値と最小値。配列の場合、要素を反復処理して同じ結果を得ることができます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3