C ++ STLのmultimaplower_bound()関数
この記事では、C++STLでのmultimap::lower_bound()関数の動作、構文、および例について説明します。
C ++ STLのマルチマップとは何ですか?
マルチマップは、マップコンテナに似た連想コンテナです。また、Key-Valueとマップされた値の組み合わせによって形成された要素を特定の順序で格納することも容易になります。マルチマップコンテナには、同じキーに関連付けられた複数の要素が存在する可能性があります。データは、関連するキーを使用して内部的に常に並べ替えられます。
multimap ::lower_bound()とは何ですか?
multimap ::lower_bound()関数は、C ++ STLに組み込まれている関数であり、
構文
multi.lower_bound(key& k);
パラメータ
この関数は1つのパラメーターのみを受け入れます-
-
k −検索したいキー。
戻り値
この関数は、キーkの前にあると見なされるキー「k」の最初の要素を指しているイテレータを返します。
入力
multimap<char, int> newmap; multimap<char, int > newmap; newmap.insert(make_pair(‘a’, 1)); newmap.insert(make_pair(‘b’, 2)); newmap.insert(make_pair(‘c’, 3)); newmap.lower_bound(b);
出力
a:1
例
#include <bits/stdc++.h> using namespace std; int main(){ //creating a multimap multimap<int, int> mul; mul.insert({ 2, 10 }); mul.insert({ 1, 20 }); mul.insert({ 1, 30 }); mul.insert({ 3, 40 }); mul.insert({ 3, 50 }); mul.insert({ 4, 60 }); // lower bound of 1 auto i = mul.lower_bound(1); cout << "Lower bound of key 1 is: "; cout << (*i).first << " " << (*i).second << endl; // Lower bound of 2 i = mul.lower_bound(2); cout << "Lower bound of key 2 is: "; cout << (*i).first <<" "<<(*i).second << endl; // Lower bound of 3 i = mul.lower_bound(3); cout << "Lower bound of key 3 is: "; cout << (*i).first << " " << (*i).second << endl; return 0; }
上記のコードを実行すると、次の出力が生成されます-
Lower bound of key 1 is: 1 20 Lower bound of key 2 is: 2 10 Lower bound of key 3 is: 3 40
-
C ++ STLでlower_bound()関数を設定します
C ++でsetlower_bound()関数を設定すると、STLは、パラメーターで渡されたkに相当するコンテナー内の要素を指すイテレーターを返します。セットコンテナにkが存在しない場合、関数はkより少し大きい直前の要素を指すイテレータを返します。 アルゴリズム Begin Initialize an empty set container s. Initializing a set container as inetrator. Insert some elements in s set container. &n
-
C++STLの関数を無効にします
ネゲート関数は、値の符号を変更するように、指定された値をネゲートするために使用されます。負の値を正に、またはその逆に変更します。 関数プロトタイプ: function transform(a_begin, a_end, a1_begin, negate()): a_begin = lower bound of the array. a_end = upper bound of the array. a1_end = Lower bound of the second modified array. &n