-
C ++ STLのmerge()関数を一覧表示します
この記事では、C++でのlist::merge()関数の動作、構文、および例について説明します。 STLのリストとは何ですか? リストは、任意の場所で一定時間の挿入と削除を順番に実行できるデータ構造です。リストは、二重にリンクされたリストとして実装されます。リストを使用すると、連続しないメモリ割り当てが可能になります。リストは、配列、ベクトル、および両端キューよりも、コンテナー内の任意の位置で要素の挿入抽出と移動を実行します。リストでは、要素への直接アクセスは遅く、リストはforward_listに似ていますが、フォワードリストオブジェクトは単一のリンクリストであり、フォワードでのみ繰り返
-
C ++ STLのpop_back()関数を一覧表示します
この記事では、C++でのlist::pop_back()関数の動作、構文、および例について説明します。 STLのリストとは何ですか? リストは、任意の場所で一定時間の挿入と削除を順番に実行できるデータ構造です。リストは、二重にリンクされたリストとして実装されます。リストを使用すると、連続しないメモリ割り当てが可能になります。リストは、配列、ベクトル、および両端キューよりも、コンテナー内の任意の位置で要素の挿入抽出と移動を実行します。リストでは、要素への直接アクセスは遅く、リストはforward_listに似ていますが、フォワードリストオブジェクトは単一のリンクリストであり、フォワードでのみ
-
C++STLのdeque::at()およびdeque ::swap()
この記事では、C++STL関数構文のdeque::at()およびdeque ::swap()関数、動作、およびその戻り値について説明します。 STLのdeque::at()およびdeque ::swap()関数とは何ですか? DequeまたはDoubleendキューは、名前が示すように、両端で拡張または縮小できるシーケンスコンテナです。ユーザーは、任意の端からデータを簡単に挿入し、同様に任意の端からデータを削除できます。これらはベクターに似ていますが、唯一の違いは、ベクターとは異なり、連続したストレージ割り当てが保証されない場合があることです。それでも、両端の要素を挿入および削除する場合は、
-
C ++でSTLを使用して2つのベクターを結合する方法は?
このチュートリアルでは、C++でSTLライブラリを使用して2つの特定のベクトルを結合する方法を理解するためのプログラムについて説明します。 与えられた2つのベクトルを結合するには、STLライブラリのset_union()メソッドを使用します。 例 #include <bits/stdc++.h> using namespace std; int main(){ //collecting the vectors vector<int> vector1 = { 1, 45, 54, 71, 76, 12 };  
-
C ++で同じサイズの2つの配列をすばやく交換するにはどうすればよいですか?
このチュートリアルでは、C++で同じサイズの2つの配列をすばやく交換する方法を理解するためのプログラムについて説明します。 このために、std ::swap()と呼ばれるクイックメソッドを使用して、指定された2つの配列の要素を交換します。 例 #include <iostream> #include <utility> using namespace std; int main (){ int a[] = {1, 2, 3, 4}; int b[] = {5, 6, 7, 8};  
-
C ++でオブジェクトの動的割り当てを制限するにはどうすればよいですか?
このチュートリアルでは、C++でオブジェクトの動的割り当てを制限する方法を理解するためのプログラムについて説明します。 このため、新しい演算子関数をプライベートに保ち、それを使用してオブジェクトを動的に作成できないようにします。 例 #include <iostream> using namespace std; class Test{ //making new operator private void* operator new(size_t size); int x; p
-
C ++でSTLを使用してベクトルを反転する方法は?
このチュートリアルでは、C++でSTLを使用してベクトルを反転する方法を理解するためのプログラムについて説明します。 特定のベクトルを逆にするために、C ++のSTLライブラリのreverse()関数を使用します。 例 #include <bits/stdc++.h> using namespace std; int main(){ //collecting the vector vector<int> a = { 1, 45, 54, 71, 76, 12 }; cout <<
-
C ++でSTLを使用してベクターを降順でソートするにはどうすればよいですか?
このチュートリアルでは、C++でSTLを使用してベクトルを降順でソートする方法を理解するためのプログラムについて説明します。 指定されたベクトルを降順で並べ替えるには、C ++のSTLライブラリのsort()関数を使用します。 例 #include <bits/stdc++.h> using namespace std; int main(){ //collecting the vector vector<int> a = { 1, 45, 54, 71, 76, 12 }; cout &l
-
データトリプレットをC++のベクターに保存する方法は?
このチュートリアルでは、C++のベクトルにデータトリプレットを格納する方法を理解するためのプログラムについて説明します。 ベクトルの単一のセルに3つの要素を格納するには、ユーザー定義の構造を作成してから、そのユーザー定義の構造からベクトルを作成します。 例 #include<bits/stdc++.h> using namespace std; struct Test{ int x, y, z; }; int main(){ //creating a vector of user defined structure
-
C++の異なるコンテナからのサブレンジの交換
このチュートリアルでは、C++でのさまざまなコンテナのサブレンジのスワッピングを理解するためのプログラムについて説明します。 このために、ベクターとリストが提供され、それらの要素のいくつかを交換する必要があります。 例 #include <algorithm> #include <iostream> #include <list> #include <vector> using namespace std; int main(){ vector<int> v = { -10, -15, -30, 20, 5
-
C ++プログラムのテンプレートの特殊化?
このチュートリアルでは、C++でのテンプレートの特殊化を理解するためのプログラムについて説明します。 sort()のような標準関数は、任意のデータ型で使用でき、それぞれで同じように動作します。ただし、特定のデータ型(ユーザー定義でも)に対して関数の特別な動作を設定する場合は、テンプレートの特殊化を使用できます。 例 #include <iostream> using namespace std; template <class T> void fun(T a) { cout << "The main template f
-
C++のテンプレートと静的変数
このチュートリアルでは、C++のテンプレートと静的変数を理解するためのプログラムについて説明します。 関数とクラスのテンプレートの場合、テンプレートの各インスタンスには、変数の独自のローカルコピーがあります。 例 #include <iostream> using namespace std; template <typename T> void fun(const T& x){ static int i = 10; cout << ++i; return ; } int
-
バイナリツリーをC++のリンクリストにフラット化する
二分木があるとしましょう。リンクリストにフラット化する必要があります。したがって、ツリーが次のような場合- 出力ツリーは-になります これを解決するには、次の手順に従います- ser prev:=null rootを入力として受け取る再帰関数solve()を定義します。 ルートがnullの場合は、を返します。 解決(ルートの権利) 解決(ルートの左側) ルートの右側:=prev、ルートの左側:=null 前:=ルート 理解を深めるために、次の実装を見てみましょう- 例 #include <bits/stdc+
-
C++でのリストの並べ替え
…などの形式に再配置する必要があります。ここでの制約は、リストノードの値を変更することはできず、ノード自体のみを変更できるということです。したがって、たとえば、リストが[1,2,3,4,5]のような場合、出力は[1,5,2,4,3]になります。 これを解決するには、次の手順に従います- リバース操作を実行するには、reverseというメソッドを定義します。これは、ノードヘッドとノードprevを取ります。これは以下のように動作します- headがnullの場合は、prevを返します temp:=次の頭 頭の次:=prev、およびprev:=head return
-
C++でリストを並べ替える
リストがあるとすると、一定のスペースの複雑さを使用してこれをO(n logn)時間でソートする必要があるため、リストが[4,2,1,3]の場合、[1,2,3、 4] これを解決するには、次の手順に従います- 2つのリストをソートされた順序でマージするメソッドを定義します。そのメソッドはmerge()であり、これは2つのリストl1とl2を取ります。 ソートリストメソッドは次のように機能します- headがnullの場合、またはheadのnextがnullの場合は、headを返します 遅い:=ヘッド、速い:=ヘッド、およびprev =null fastはnull
-
C++での循環小数の分数
分数の分子と分母を表す2つの整数があるとすると、文字列形式で分数を見つける必要があります。小数部が繰り返されている場合は、繰り返し部分を括弧で囲みます。したがって、分子が2で分母が3の場合、出力は「0.(6)」になります。 これを解決するには、次の手順に従います- 分子が0の場合、0を返します 1つの配列を定義します 分子0、または分子0で分母<0の場合は、ans配列に負の記号「-」を挿入します 除数:=|分子|および被除数:=|分母|、剰余:=除数mod被除数 x:=除数/被除数の文字列 xからans配列に各文字を挿入します 剰余=0の場合、ans
-
C++での最小サイズのサブアレイの合計
n個の要素の配列と正の整数sがあるとします。連続するサブアレイの最小の長さを見つける必要があります。その合計はs以上です。存在しない場合は、代わりに0を返します。したがって、配列が[2,3,1,2,3,4]のようで、合計が7の場合、出力は2になります。これはサブ配列[4,3]がこの場合の最小の長さです。 これを解決するには、次の手順に従います- ans:=0、n:=配列Aのサイズ、j:=0および合計:=0 0からn–1の範囲のiの場合 合計:=合計+ A [i] =Kおよびj<=1 合計:=合計– A [j] jを1増やします =kの場合、
-
C++の最大正方形
0と1で満たされた2Dバイナリ行列があるとします。 1だけを含む最大の正方形を見つけて、その面積を返す必要があります。したがって、行列が-のような場合 1 0 1 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 1 0 その場合、出力は4になります これを解決するには、次の手順に従います- ans:=0、n:=行数、c:=行数 nが0の場合、0を返します 次数(n x c)の別の行列を作成します 0からn–1の範囲のiの場合 0からc–1の範囲の
-
C++でのWiggleSortII
ソートされていない配列numsがあるとすると、nums [0] nums [2]
-
C++のボードの戦艦
2Dボードがあるとすると、その中に戦艦がいくつあるかを数える必要があります。戦艦は記号「X」で表され、空のスロットは「。」で表されます。これらのルールを想定することができます- 戦艦または空のスロットのみで構成された有効なボードを受け取ります。 戦艦は水平または垂直にのみ配置できます。つまり、1xN(1行、N列)またはNx1(N行、1列)の形状でのみ作成できます。ここで、Nは任意のサイズにすることができます。 少なくとも1つの水平または垂直セルが2隻の戦艦を分離します。隣接する戦艦はありません。 したがって、ボードが次のような場合: X 。 。 X 。