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

C ++ STLでequal_range()関数を設定します


この記事では、C++STLのset::equal_range()関数、それらの構文、動作、および戻り値について説明します。

C ++ STLの設定とは何ですか?

C ++ STLのセットは、一般的な順序で一意の要素を持つ必要があるコンテナーです。要素の値は要素を識別するため、セットには一意の要素が必要です。セットコンテナに値を追加すると、後で変更することはできませんが、値を削除したり、セットに追加したりすることはできます。セットは二分探索木として使用されます。

設定内容::equal_range()

equal_range()関数は、ヘッダーファイルで定義されているC++STLの組み込み関数です。この関数は、関数の引数として渡された値を含むセットコンテナの範囲を返します。セットにはすべての一意の値が含まれているため、見つかった範囲の同等の値は単一になります。値がコンテナに存在しない場合、範囲はゼロになり、両方のイテレータが最初の位置を指します。

構文

Set1.equal_range(const type_t& value);

パラメータ

この関数は、1つのパラメーター、つまり検出される要素を受け入れます。

戻り値

この関数はペアを返すか、コンテナの下限からコンテナ内にある要素までのイ​​テレータ範囲を言うことができます。

Input: set<int> myset = {10, 20, 30, 40};
Output: lower bound of 30 is 30

#include <bits/stdc++.h>
using namespace std;
int main(){
   set<int> mySet;
   mySet.insert(10);
   mySet.insert(20);
   mySet.insert(30);
   mySet.insert(40);
   mySet.insert(50);
   cout<<"Elements before applying range() Function : ";
   for (auto i = mySet.begin(); i != mySet.end(); i++)
      cout << *i << " ";
   auto i = mySet.equal_range(30);
   cout<<"\nlower bound of 30 is "<< *i.first;
   cout<<"\nupper bound of 30 is "<< *i.second;
   i = mySet.equal_range(40);
   cout<<"\nlower bound of 40 is " << *i.first;
   cout<<"\nupper bound of 40 is " << *i.second;
   i = mySet.equal_range(10);
   cout<<"\nlower bound of 10 is " << *i.first;
   cout<<"\nupper bound of 10 is " << *i.second;
   return 0;
}

出力

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

Elements before applying range() Function : 10 20 30 40 50
lower bound of 30 is 30
upper bound of 30 is 40
lower bound of 40 is 40
upper bound of 40 is 50
lower bound of 10 is 10
upper bound of 10 is 20

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

    atan2()関数は、yとxに関する座標の正接逆関数を返します。ここで、yとxは、それぞれy座標とx座標の値です。これはC++STLに組み込まれている関数です。 atan2()関数の構文は次のとおりです。 atan2(dataType var1, dataType var2) 構文からわかるように、関数atan2()は、データ型floatの2つのパラメーターvar1とvar2、それぞれyとxポイントであるdoubleまたはlongdoubleを受け入れます。 atan2()によって返される値は、-piからpiの範囲であり、(x、y)と正のx軸の間の角度です。 C ++でatan2()を

  2. C ++ STLのacos()関数

    acos()関数は、ラジアンで指定された角度の逆コサインを返します。これはC++STLに組み込まれている関数です。 acos()関数の構文は次のとおりです。 acos(var) 構文からわかるように、関数acos()は、データ型float、double、またはlongdoubleのパラメーターvarを受け入れます。このパラメーターの値は-1から1の間でなければなりません。これは、-piからpiの範囲のvarの逆コサインを返します。 C ++でacos()を示すプログラムは次のとおりです。 例 #include <iostream> #include <cmath>