equal_range利用equal_rangeの使用

equal_rangeの使用状況

equal_rangeは、私が注文を損なうことなく、あるイテレータi及びjの対を返す)ソート[最初、最後の値を見つけようと、見つけるバイナリアルゴリズムにC ++ STLある値ができ最初の位置(すなわちLOWER_BOUND)を挿入、Jは、破壊することなく順番にある値は、最後の位置(即ちUPPER_BOUND)に挿入することができ、その中に各要素、従って、[i、j)が同一でありますサブインターバルの最大値、及び[i、j)は、[最初、最後である)、このプロパティに沿って

   わずかに異なる角度を考えるする場合 equal_rangeを、 [拳)、最後に(ソート)規則正しいので、我々はセクションA [すべての要素の最初の)最後内側「および同等の値」と考えることができるが、形成されている、我々 、次に、必ずしも最初イテレータLOWER_BOUND部Aにアルゴリズム戻る隣接している、アルゴリズムはセクションAの次UPPER_BOUND最後の要素を返し、すべての要素の「値と同等のものを」知っている アルゴリズムは、ペアequal_rangeの形態であります両方が返されます
   [拳、最後の)任意の要素を含む「および値等価」、以上の説明は依然として合理的である、この場合、「とに相当する値」形式のすべての要素はなかった場合でも、実際には、破壊しないために、空の間隔であります場合は、唯一つの値は、所定の位置に挿入され、位置に向けられるequal_range対は、第1および第2の(イテレータ両方)を戻すことができます。
 

//マップ:: equal_elements
する#include <iostreamの>
の#include <マップ>
std名前空間を使用しました。

INTメイン()
{
マップ<チャー、整数> mymapという。
ペア<マップ<文字、整数> ::イテレータ、マップ<文字、整数> ::イテレータ> RET;

10 = [ 'A'] MYMAP。
20 = [ 'B']をMYMAP。
30 = [ 'C'] MYMAP。

RET = mymap.equal_range( 'B')。

裁判所未満<<「に下限ポイント:」;
COUT << ret.first->第<< "=>" << ret.first->第<< ENDL。

裁判所未満<<「に上限ポイント:」;
COUT << ret.second->第<< "=>" << ret.second->第<< ENDL。

0を返します。
}

 

おすすめ

転載: www.cnblogs.com/fzy456/p/11101148.html