C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++STLのmultimapupper_bound()関数


この記事では、C++STLでのmultimap::upper_bound()関数の動作、構文、および例について説明します。

C ++ STLのマルチマップとは何ですか?

マルチマップは、マップコンテナに似た連想コンテナです。また、Key-Valueとマップされた値の組み合わせによって形成された要素を特定の順序で格納することも容易になります。マルチマップコンテナには、同じキーに関連付けられた複数の要素が存在する可能性があります。データは、関連するキーを使用して内部的に常に並べ替えられます。

multimap ::upper_bound()とは何ですか?

multimap ::upper_bound()関数は、C ++ STLに組み込まれている関数であり、 ヘッダーファイルで定義されています。 upper_bound()は、マルチマップコンテナの上限にイテレータを返します。この関数は、キーkの後にあると見なされる最後の要素を指すイテレータを返します。

構文

Map_name.upper_bound(key& k);

パラメータ

この関数は1つのパラメーターのみを受け入れます-

  • k −検索したいキー。

戻り値

この関数は、キーkの後に続くと見なされるキー「k」の次の要素を指しているイテレータを返します。

入力

map<char, int> newmap;
newmap(make_pair(‘a’, 1));
newmap(make_pair(‘b’, 2));
newmap(make_pair(‘c’, 3));
newmap.upper_bound(b);

出力

c:3

#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 });
   // upper bound of 1
   auto i = mul.upper_bound(1);
   cout << "Upper bound of key 1 is: ";
   cout << (*i).first << " "<<(*i).second << endl;
   // upper bound of 2
   i = mul.upper_bound(2);
   cout << "Upper bound of key 2 is: ";
   cout << (*i).first << " " <<(*i).second << endl;
   // upper bound of 3
   i = mul.upper_bound(3);
   cout << "Upper bound of key 3 is: ";
   cout << (*i).first << " " << (*i).second << endl;
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Upper bound of key 1 is: 2 10
Upper bound of key 2 is: 3 40
Upper bound of key 3 is: 4 60

  1. C ++ STLのiswblank()関数

    C ++のiswblank()関数は、指定されたワイド文字が空白でないかどうかを確認するために使用されます。これは、C言語の「ctype.h」ヘッダーファイルとC ++標準テンプレートライブラリ(STL)の「cctype」ヘッダーファイルにあります。 iswblankの構文は次のとおりです int iswblank(wint_t ch) 返品タイプ −空白が含まれている場合はゼロ以外の値を返し、含まれていない場合は値0を返します。 パラメータ − ch −これはチェックする文字です。 例 入力 − string str =“ I Love Myself” 出力 −スペースの総数は−

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