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

C ++ STLでequal_range()をマップします


このチュートリアルでは、C++STLのマップequal_rangeを理解するためのプログラムについて説明します。

この関数は、指定されたパラメーターに相当するキーが存在するコンテナーの範囲を制限するイテレーターのペアを返します。

#include <bits/stdc++.h>
using namespace std;
int main() {
   //initializing container
   map<int, int> mp;
   mp.insert({ 4, 30 });
   mp.insert({ 1, 40 });
   mp.insert({ 6, 60 });
   pair<map<int, int>::iterator,
      map<int, int>::iterator>
      it;
   it = mp.equal_range(1);
   cout << "The lower bound is " << it.first->first<< ":" << it.first->second;
   cout << "\nThe upper bound is "<< it.second->first<< ":" << it.second->second;
   return 0;
}

出力

The lower bound is 1:40
The upper bound is 4:30

  1. C++STLでのセットとマップ

    Setは抽象データ型であり、要素の値によって要素が識別されるため、各要素は一意である必要があります。要素の値は、セットに追加されると変更できませんが、その要素の変更された値を削除して追加することはできます。 マップは、マップされた方法で要素を格納する連想コンテナです。各要素には、キー値とマップされた値があります。 2つのマップされた値が同じキー値を持つことはできません。 したがって、上記から明らかなように、setには唯一のキーが含まれ、mapにはキーを持つ値が含まれ、どちらも一意でソートされた値を持つ必要があります。 順序付けされていない要素と並べ替えられていない要素には、unorder

  2. STLにマップを実装するC++プログラム

    マップは、マップされた方法で要素を格納する連想コンテナです。各要素には、キー値とマップされた値があります。 2つのマップされた値が同じキー値を持つことはできません。 ここで使用される関数: m ::find()–見つかった場合は、マップ内のキー値「b」を持つ要素にイテレータを返します。それ以外の場合は、終了するイテレータを返します。 m ::Erase()–マップからキー値を削除します。 m ::equal_range()–ペアのイテレータを返します。ペアは、キーと同等のキーを持つコンテナ内のすべての要素を含む範囲の境界を指します。 m insert()–マップコンテ