STL を使用して、指定された文字列の完全な置換を C++ で実装する
与えられた文字列の文字を任意の形式に並べ替えると、文字列の配列が形成されます。たとえば、このチュートリアルでは、C の標準テンプレート ライブラリを使用して、指定された文字列のすべての順列を出力する方法について説明します
Input : s = “ADT” Output : “ADT”, “ATD”, “DAT”, “DTA”, “TAD”, “TDA” Explanation : In the given output as you can see all the string are made up of same three character present in our string and are just rearranged thus they fit in the definition of a permutation of a string now there is one more thing to note these are all the permutations possible of string s.
指定された文字列のすべての順列を出力するには 2 つの方法があります
Rotate ()
最初に使用する方法は、回転方法を使用することです。この方法では、文字列を回転するために使用される STL の回転関数を使用し、再帰を使用して配置を出力します。
Example
上記のメソッドの C コード
#include<bits/stdc++.h> using namespace std; void permutations(string s, string ans){ if(s.size() == 0) { // when our string which needs to //be rotated becomes empty then it means //that our permutation is stored in ans cout << ans << "\n"; return ; } for(int i = 0; i < s.size(); i++){ permutations(s.substr(1), ans + s[0]); // we are adding the // first character in our ans // passing all elements from index 1 in our // rotate string for next function. rotate(s.begin(), s.begin()+1, s.end()); //rotating such that our second element becomes first } } int main(){ string s = "ADT"; // given string permutations(s, ""); return 0; }
Output
ADT ATD DTA DAT TAD TDA
Next_Permutation
次に、 use STL のもう 1 つの関数、next_Permutation は、名前が示すように、この関数の戻り値は、文字列の次の順列が存在するかどうかです。そうでない場合は false を返します。
ご存知のとおり、この関数は次の順列をチェックするため、考えられるすべての順列を取得するには、まず文字列を辞書順に並べ替える必要があります。
例
上記のメソッドの C コード
#include<bits/stdc++.h> using namespace std; int main(){ string s = "ADT"; // given string sort(s.begin(), s.end()); // sorting the string do{ cout << s << "\n"; // printing the permutations }while(next_permutation(s.begin(), s.end())); // till next_permutations returns false return 0; }
出力
ADT ATD DAT DTA TAD TDA
上記のプログラムでは、文字列の並べ替えを実行します。次に、 next_permutation 関数を使用して、考えられるすべての順列を出力します。
結論
このチュートリアルでは、C の STL を使用して、指定された文字列の考えられるすべての順列を出力しました。また、問題に対する C プログラムと、いくつかの基本的な STL 関数とその使用法についても学習しました。このチュートリアルがお役に立てば幸いです。
以上がSTL を使用して、指定された文字列の完全な置換を C++ で実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPでint型をstring型に変換する方法を詳しく解説 PHPの開発では、int型をstring型に変換する必要に遭遇することがよくあります。この変換はさまざまな方法で実現できますが、この記事では、読者の理解を深めるために、具体的なコード例とともに、いくつかの一般的な方法を詳しく紹介します。 1. PHP の組み込み関数 strval() を使用する PHP には、さまざまな型の変数を文字列型に変換できる組み込み関数 strval() が用意されています。 int型をstring型に変換する必要がある場合、

カスタム コンパレータの実装は、operator() をオーバーロードするクラスを作成することで実現できます。このクラスは 2 つのパラメータを受け取り、比較の結果を示します。たとえば、StringLengthComparator クラスは、文字列の長さを比較して文字列を並べ替えます。クラスを作成し、operator() をオーバーロードして、比較結果を示すブール値を返します。コンテナアルゴリズムでの並べ替えにカスタムコンパレータを使用する。カスタム コンパレータを使用すると、カスタム比較基準を使用する必要がある場合でも、カスタム基準に基づいてデータを並べ替えたり比較したりできます。

1. まず pycharm を開いて、pycharm ホームページに入ります。 2. 次に、新しい Python スクリプトを作成し、右クリックして [新規] をクリックし、[Pythonfile] をクリックします。 3. 文字列、コード: s="-" を入力します。 4. 次に、文字列内のシンボルを 20 回繰り返す必要があります (コード: s1=s*20)。 5. 印刷出力コード、コード: print(s1) を入力します。 6. 最後にスクリプトを実行すると、下部に戻り値が表示されます。 - 20 回繰り返しました。

Golang で文字列が特定の文字で始まるかどうかを確認するにはどうすればよいですか? Golang でプログラミングする場合、文字列が特定の文字で始まるかどうかを確認する必要がある状況によく遭遇します。この要件を満たすために、Golang の strings パッケージによって提供される関数を使用してこれを実現できます。次に、Golangを使って文字列が特定の文字で始まるかどうかを確認する方法を、具体的なコード例とともに詳しく紹介します。 Golang では、strings パッケージの HasPrefix を使用できます。

Go 言語は、文字列インターセプトを含む豊富な文字列処理機能を提供する強力で柔軟なプログラミング言語です。 Go 言語では、スライスを使用して文字列をインターセプトできます。次にGo言語で文字列をインターセプトする方法を具体的なコード例を交えて詳しく紹介します。 1. スライスを使用して文字列をインターセプトする Go 言語では、スライス式を使用して文字列の一部をインターセプトできます。スライス式の構文は次のとおりです。slice:=str[start:end]where, s

コンテナーの size() メンバー関数を使用して、コンテナー内の要素の数を取得できます。たとえば、ベクトル コンテナの size() 関数は要素数を返し、リスト コンテナの size() 関数は要素数を返し、文字列コンテナの length() 関数は文字数を返します。 deque コンテナーの Capacity() 関数は、割り当てられたメモリ ブロックの数を返します。

PHP 文字列操作: スペースを効果的に削除する実用的な方法 PHP 開発では、文字列からスペースを削除する必要がある状況によく遭遇します。スペースを削除すると文字列がきれいになり、その後のデータ処理と表示が容易になります。この記事では、スペースを削除するための効果的かつ実践的な方法をいくつか紹介し、具体的なコード例を添付します。方法1: PHP組み込み関数trim()を使用する PHP組み込み関数trim()を使用すると、文字列の両端のスペース(スペース、タブ、改行などを含む)を削除でき、非常に便利で簡単です。使用します。

STL 関数オブジェクトを使用すると再利用性が向上し、次の手順が含まれます。 関数オブジェクト インターフェイスを定義します (クラスを作成し、std::unary_function または std::binary_function から継承します)。 STL アルゴリズム (std::transform など) 経由で関数オブジェクトを使用して必要な機能を実装します。
