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

C ++STLのforward_listmax_size()と例


与えられたのは、C ++STLでのforward_listmax_size()関数の動作を示すタスクです。

転送リストとは何ですか?

順方向リストは、追跡が順方向でのみ実行でき、逆方向では実行できない単一リンクリストとして理解できますが、リストでは、要素を両方向で追跡できます。つまり、要素は、1つが順方向用の2つのリンクを保持します。要素ともう1つは後方要素用です。したがって、フォワードリストは、フォワード要素のリンクを1つだけ保持する必要があるため、高速です。順方向要素は、一定時間で挿入および削除できます。

forward_list max_size()関数とは何ですか?

forward_list ::reverse()は、C ++標準テンプレートライブラリ(STL)の関数であり、転送リストに存在する要素の順序を逆にするために使用されます。

構文

forwardlist_name.reverse( )

パラメータ

この関数にはパラメータがありません。

戻り値

この関数には戻り値はありません。リストを反転する操作のみを実行します

Input-: List of elements are: 57 99 54 34 84
Output–: Reversed elements of list are: 84 34 54 99 57
Input-: List of elements are: 40 30 60 90 70
Output–: Reversed elements of list are: 70 90 60 30 40

以下のプログラムで使用されているアプローチは次のとおりです

  • 最初にリストを初期化します

  • 次に、逆()関数を適用する前に順方向リストを印刷します。

  • 次に、C ++のヘッダーファイルに存在するforward.reverse()関数を定義します。

  • 次に、逆順リストを表示します

/ *以下のコードでは、フォワードリストを作成し、リストに要素を挿入しています。ここでのタスクは、max_size()関数* /

を使用して要素を挿入した後、転送リストのサイズを確認することです。
#include <bits/stdc++.h>
using namespace std;
int main() {
   //creating forward list
   forward_list<int> myForwardList;
   //add values to forward list
   myForwardList.assign(3, 2);
   cout << "The elements in my forward list are : ";
   for (auto i=myForwardList.begin(); i!=myForwardList.end();i++)
      cout << *i << " ";
   cout << "\nThe size of my Forward List is: " << myForwardList.max_size();
   return 0;
}

出力

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

The elements in my forward list are : 2 2 2
The size of my Forward List is:
1152921504606846975

/ *以下のコードでは、フォワードリストを作成しています。ここでのタスクは、max_size()関数を使用して転送リストのサイズを確認することです。* /

#include <bits/stdc++.h>
using namespace std;
int main() {
   // creating forward list
   forward_list<int> myForwardList;
   cout << "\nsize of my forward list is: "<<myForwardList.max_size();
   return 0;
}

出力

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

size of my forward list is: 1152921504606846975

  1. C ++ STLのフォワードリストassign()関数

    与えられたのは、C++でのforward_listassign()関数の動作を示すタスクです。 forward_listは、次の要素および前の要素とのリンクを維持する通常のリストとは異なり、次の要素とのリンクのみを維持します。これは、順方向および逆方向の反復に役立ちます。ただし、forward_listは順方向にのみ反復できます。 forward_list ::assign()関数は、C++標準テンプレートライブラリの一部です。転送リスト内に要素を挿入するために使用され、リストにすでにいくつかの要素が含まれている場合、それらはユーザーによって追加された新しい要素に置き換えられます。 この

  2. 例を使用したC++STLの配列data()

    アレイ は、連続したメモリ位置に格納されている同じデータ型の要素のコレクションです。 C ++標準ライブラリには、配列の機能をサポートする多くのライブラリが含まれています。そのうちの1つは配列data()メソッドです。 C ++の配列data()は、オブジェクトの最初の要素を指すポインターを返します。 構文 array_name.data(); パラメータ 関数が受け入れるパラメーターはありません。 リターンタイプ 配列の最初の要素へのポインタ。 例 Array Data()メソッドの使用を説明するプログラム- #include <bits/stdc++.h> usi