lexicographical_compare() 関数を使用してベクトルを並べ替える方法 C++

Lexicographical Compare Guan Shuwo Shi Yongshitebekutoruwo Bingbe Tieru Fang Fa C



関数は、特定のタスクを実行する一連の命令です。コードを整理し、モジュール化して再利用可能にするために使用されます。 C++ では、関数はコードを単純にするために重要な役割を果たします。たとえば、「 lexicographical_compare() 」関数は、2 つのシーケンスまたは範囲を辞書編集的に比較するために使用されます。

この包括的なガイドでは、プログラムを使用して C++ の「lexicographical_compare()」関数を説明します。

C++の「lexicographical_compare()」関数とは何ですか

C++ では、「lexicograpfical_compare()」関数は、シーケンス (辞書編集順) 内の要素を比較および並べ替える非常に効果的な操作です。これは、範囲や文字列などのシーケンスを比較した結果であるそれぞれの順序を決定する機能を提供します。この関数は、「」を使用して C++ でアクセスできます。 <アルゴリズム> ”ヘッダファイル。







構文



C++ の「lexicographical_compare()」関数の構文は次のとおりです。



レンプレート < クラス 入力Iter1、 クラス 入力Iter2 >
ブール 辞書編集_比較 ( InputIter1 first1、InputIter1 last1、InputIter2 first2、InputIter2 last2 ) ;

上記のコードによると、「 lexicographical_compare() ” 関数は 2 組の範囲を受け入れます。” 最初1 ' と ' 最後1 ” 最初の範囲の入力イテレータと、” 最初の2 ' と ' 最後2 」 2 番目の範囲の反復子を入力します。これは、辞書編集順で両方の range 要素と一致します。





戻り値の型: ブール値 (true または false) を返します。最初の範囲が辞書編集的に 2 番目の範囲より小さい場合は true を返し、それ以外の場合は false を返します。

例外: 比較中にエラーが見つかった場合は、例外がスローされます。



lexicographical_compare() 関数を使用してベクトルを並べ替える方法 C++

「lexicographical_compare()」関数は、要素の順序を調べるソート手法でよく使用されます。範囲が終了するまで、要素のそれぞれの順序と一致します。

lexicograpical_compare() 関数の例 文字列ベクトルの並べ替えと比較

「」を示す提供された例を確認してみましょう。 選別() ” を使用したメソッド lexicographical_compare() ”:

#include
#include <ベクター>
#include <アルゴリズム>
を使用して 名前空間 標準 ;

ここ:

  • 」は入出力操作に使用されます。

<ベクトル> 」は C++ 標準ライブラリのコンテナ クラスであり、動的配列機能を提供するテンプレートを保持するために使用されます。

  • <アルゴリズム> 」ヘッダー ファイルは、「lexicographical_compare()」関数の「sort()」メソッドにアクセスするために使用されます。
  • 名前空間 std を使用する 」は、プレフィックス「std」を明示的に指定せずに、名前空間のすべての名前を使用するディレクティブと呼ばれます。

次に、「」の内部 主要() 「関数で 2 つのベクトルを初期化しました」 ヴェクト1 ' と ' ヴェクト2 」と同じ文字列を使用します。この後、「」を使用しました 選別() ” メソッドを使用して、両方のベクトルの辞書順に要素を並べ替えます。 vect1.begin() ' と ' Vector1.end() ' イテレータの範囲は 'vect1' および ' vect2.begin() ' と ' vect2.end() 「vect2」の範囲。次に、「 lexicographical_compare() 両方のベクトルに対して 4 つの引数を取る関数。

結果は「」で保存されます。 ブール 「」を入力します。 結果 ” 変数を取得し、「vect1」範囲が辞書編集上「vect2」範囲より小さい場合は true を返し、それ以外の場合は false を返します。最後に「」を適用します。 もしも ” ステートメントを使用して結果を表示します。もし「」 結果 ” は true です。これは、「vect1」が辞書編集的に「」であることを意味します。 > 「vect2」よりも。それ以外の場合は、else 条件が実行されます。

整数 主要 ( ) {
ベクター < > ヴェクト1 = { '春' '夏' '秋' '冬' } ;
ベクター < > ヴェクト2 = { '春' '夏' } ;

選別 ( ベクト1。 始める ( ) 、vect1。 終わり ( ) ) ;
選別 ( ヴェクト2。 始める ( ) 、vect2。 終わり ( ) ) ;
// lexicographical_compare() を使用して両方のベクトルを比較します
ブール 結果 = 辞書編集_比較 (
ベクト1。 始める ( ) 、vect1。 終わり ( )
ヴェクト2。 始める ( ) 、vect2。 終わり ( )
) ;

もしも ( 結果 ) {
コート << 「vect1 は辞書編集的に vect2 よりも大きいです」 << 終わり ;
} それ以外 もしも ( 辞書編集_比較 (
ヴェクト2。 始める ( ) 、vect2。 終わり ( )
ベクト1。 始める ( ) 、vect1。 終わり ( )
) ) {
コート << 「vect1 は辞書編集的に vect2 より小さいです」 << 終わり ;
} それ以外 {
コート << 「vect1 は辞書編集的に vect2 と等しい」 << 終わり ;
}
戻る 0 ;
}

出力

それで全部です! 「」について学びました。 lexicographical_compare() ” C++ の関数。

結論

C++ では、「lexicographical_compare()」関数を使用して、要素のシーケンスを語彙順に並べ替えて照合します。 「lexicograpgical_compare()」メソッドを使用したソート アルゴリズムは、相対的な順序を見つけるために広く実装されています。このチュートリアルでは、C++ の「lexicographical_compare()」関数をデモしました。